pub struct Timestamp { /* private fields */ }
Expand description
Representation of time instants in DDS API and RTPS protocol. Similar to
std::time::Instant
.
Quoting RTPS 2.3 spec 9.3.2.1:
The representation of the time is the one defined by the IETF Network Time Protocol (NTP) Standard (IETF RFC 1305). In this representation, time is expressed in seconds and fraction of seconds using the formula: time = seconds + (fraction / 2^(32))
The time origin is represented by the reserved value TIME_ZERO and corresponds to the UNIX prime epoch 0h, 1 January 1970.
Note : While NTP uses the same time representation as RTPS, it does not use the Unix epoch (1970-01-01 00:00). NTP uses the beginning of the 20th century epoch (1900-01-01 00:00) instead. So the RTPS timestamps are not interchangeable with NTP.
The timestamps will overflow in year 2106.
This type is called Time_t in the RTPS spec.
Implementations
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Timestamp
impl<'de> Deserialize<'de> for Timestamp
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for Timestamp
impl Ord for Timestamp
sourceimpl PartialOrd<Timestamp> for Timestamp
impl PartialOrd<Timestamp> for Timestamp
sourcefn partial_cmp(&self, other: &Timestamp) -> Option<Ordering>
fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<'a_, C_: Context> Readable<'a_, C_> for Timestamp
impl<'a_, C_: Context> Readable<'a_, C_> for Timestamp
fn read_from<R_: Reader<'a_, C_>>(_reader_: &mut R_) -> Result<Self, C_::Error>
fn minimum_bytes_needed() -> usize
sourcefn read_from_buffer(buffer: &'a [u8]) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer(buffer: &'a [u8]) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer. Read more
sourcefn read_with_length_from_buffer(
buffer: &'a [u8]
) -> (Result<Self, <C as Context>::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
fn read_with_length_from_buffer(
buffer: &'a [u8]
) -> (Result<Self, <C as Context>::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer while also returning the amount of bytes consumed. Read more
sourcefn read_from_buffer_copying_data(
buffer: &[u8]
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_copying_data(
buffer: &[u8]
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer. Read more
sourcefn read_with_length_from_buffer_copying_data(
buffer: &[u8]
) -> (Result<Self, <C as Context>::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
fn read_with_length_from_buffer_copying_data(
buffer: &[u8]
) -> (Result<Self, <C as Context>::Error>, usize) where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer while also returning the amount of bytes consumed. Read more
sourcefn read_from_stream_unbuffered(
stream: impl Read
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_stream_unbuffered(
stream: impl Read
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream without any buffering. Read more
sourcefn read_from_stream_buffered(
stream: impl Read
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_stream_buffered(
stream: impl Read
) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream with internal buffering. Read more
fn read_from_file(path: impl AsRef<Path>) -> Result<Self, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_with_ctx(
context: C,
buffer: &'a [u8]
) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_with_ctx(
context: C,
buffer: &'a [u8]
) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_buffer_copying_data_with_ctx(
context: C,
buffer: &[u8]
) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_copying_data_with_ctx(
context: C,
buffer: &[u8]
) -> (Result<Self, <C as Context>::Error>, usize)
fn read_with_length_from_buffer_copying_data_with_ctx_mut(
context: &mut C,
buffer: &[u8]
) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_stream_unbuffered_with_ctx<S>(
context: C,
stream: S
) -> Result<Self, <C as Context>::Error> where
S: Read,
fn read_from_stream_buffered_with_ctx<S>(
context: C,
stream: S
) -> Result<Self, <C as Context>::Error> where
S: Read,
fn read_from_file_with_ctx(
context: C,
path: impl AsRef<Path>
) -> Result<Self, <C as Context>::Error>
sourceimpl<C_: Context> Writable<C_> for Timestamp
impl<C_: Context> Writable<C_> for Timestamp
fn write_to<T_: ?Sized + Writer<C_>>(
&self,
_writer_: &mut T_
) -> Result<(), C_::Error>
fn write_to_buffer(
&self,
buffer: &mut [u8]
) -> Result<(), <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_vec(&self) -> Result<Vec<u8, Global>, <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_stream<S>(&self, stream: S) -> Result<(), <C as Context>::Error> where
S: Write,
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_file(
&self,
path: impl AsRef<Path>
) -> Result<(), <C as Context>::Error> where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_buffer_with_ctx(
&self,
context: C,
buffer: &mut [u8]
) -> Result<(), <C as Context>::Error>
fn write_to_buffer_with_ctx_mut(
&self,
context: &mut C,
buffer: &mut [u8]
) -> Result<(), <C as Context>::Error>
fn write_to_vec_with_ctx(
&self,
context: C
) -> Result<Vec<u8, Global>, <C as Context>::Error>
fn write_to_vec_with_ctx_mut(
&self,
context: &mut C
) -> Result<Vec<u8, Global>, <C as Context>::Error>
fn write_to_stream_with_ctx<S>(
&self,
context: C,
stream: S
) -> Result<(), <C as Context>::Error> where
S: Write,
fn write_to_file_with_ctx(
&self,
context: C,
path: impl AsRef<Path>
) -> Result<(), <C as Context>::Error>
fn bytes_needed(&self) -> Result<usize, <C as Context>::Error>
impl Copy for Timestamp
impl Eq for Timestamp
impl StructuralEq for Timestamp
impl StructuralPartialEq for Timestamp
Auto Trait Implementations
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnwindSafe for Timestamp
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more