Struct rkyv::with::UnixTimestamp [−][src]
pub struct UnixTimestamp;Expand description
A wrapper that converts a SystemTime to a
Duration since UNIX_EPOCH.
If the serialized time occurs before the UNIX epoch, serialization will panic during resolve.
The resulting archived time will be an ArchivedDuration
relative to the UNIX epoch.
Regular serializers don’t support the custom error handling needed for this type by default. To
use this wrapper, a custom serializer with an error type satisfying
<S as Fallible>::Error: From<UnixTimestampError> must be provided.
Example
use rkyv::{Archive, with::UnixTimestamp};
use std::time::SystemTime;
#[derive(Archive)]
struct Example {
#[with(UnixTimestamp)]
time: SystemTime,
}Trait Implementations
type Archived = ArchivedDuration
type Archived = ArchivedDuration
The archived type of a With<F, Self>.
unsafe fn resolve_with(
field: &SystemTime,
pos: usize,
resolver: Self::Resolver,
out: *mut Self::Archived
)
unsafe fn resolve_with(
field: &SystemTime,
pos: usize,
resolver: Self::Resolver,
out: *mut Self::Archived
)
Resolves the archived type using a reference to the field type F. Read more
Deserializes the field type F using the given deserializer.
impl<S: Fallible + ?Sized> SerializeWith<SystemTime, S> for UnixTimestamp where
S::Error: From<UnixTimestampError>,
impl<S: Fallible + ?Sized> SerializeWith<SystemTime, S> for UnixTimestamp where
S::Error: From<UnixTimestampError>,
Serializes the field type F using the given serializer.
Auto Trait Implementations
impl RefUnwindSafe for UnixTimestamp
impl Send for UnixTimestamp
impl Sync for UnixTimestamp
impl Unpin for UnixTimestamp
impl UnwindSafe for UnixTimestamp
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more