use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout};
#[repr(transparent)]
#[derive(
Copy,
Clone,
Debug,
Default,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash,
FromBytes,
IntoBytes,
KnownLayout,
Immutable,
)]
pub struct TimestampNs(pub i64);
impl TimestampNs {
pub const fn new(nanos: i64) -> Self {
Self(nanos)
}
pub const fn nanos(self) -> i64 {
self.0
}
}
impl From<i64> for TimestampNs {
fn from(v: i64) -> Self {
Self(v)
}
}
impl From<TimestampNs> for i64 {
fn from(v: TimestampNs) -> i64 {
v.0
}
}