pub struct Timestamp {
internal: u64,
}
Expand description
System-wide timestamp type.
Fields§
§internal: u64
note no pub
.
Implementations§
source§impl Timestamp
impl Timestamp
pub const MAX: Self = _
pub const MIN: Self = _
pub const fn new(timestamp: u64) -> Self
pub fn to_bytes(&self) -> [u8; 8]
pub fn from_bytes(bytes: [u8; 8]) -> Self
pub fn saturating_sub<I: Into<Self>>(self, rhs: I) -> Self
pub fn saturating_add<I: Into<Self>>(self, rhs: I) -> Self
pub fn saturating_mul<I: Into<Self>>(self, rhs: I) -> Self
pub fn checked_add<I: Into<Self>>(self, rhs: I) -> Option<Self>
pub fn checked_sub<I: Into<Self>>(self, rhs: I) -> Option<Self>
sourcepub fn step_forward(&self) -> Self
pub fn step_forward(&self) -> Self
Advance a timestamp by the least amount possible such that
ts.less_than(ts.step_forward())
is true. Panic if unable to do so.
sourcepub fn step_forward_by(&self, amount: &Self) -> Self
pub fn step_forward_by(&self, amount: &Self) -> Self
Advance a timestamp forward by the given amount
. Panic if unable to do so.
sourcepub fn try_step_forward(&self) -> Option<Self>
pub fn try_step_forward(&self) -> Option<Self>
Advance a timestamp by the least amount possible such that ts.less_than(ts.step_forward())
is true. Return None
if unable to do so.
sourcepub fn try_step_forward_by(&self, amount: &Self) -> Option<Self>
pub fn try_step_forward_by(&self, amount: &Self) -> Option<Self>
Advance a timestamp forward by the given amount
. Return None
if unable to do so.
Trait Implementations§
source§impl Arbitrary for Timestamp
impl Arbitrary for Timestamp
§type Parameters = <u64 as Arbitrary>::Parameters
type Parameters = <u64 as Arbitrary>::Parameters
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<<u64 as Arbitrary>::Strategy, fn(_: u64) -> Timestamp>
type Strategy = Map<<u64 as Arbitrary>::Strategy, fn(_: u64) -> Timestamp>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl<'a> AsColumnType for Timestamp
impl<'a> AsColumnType for Timestamp
source§fn as_column_type() -> ColumnType
fn as_column_type() -> ColumnType
The SQL column type of this Rust type
source§impl Columnation for Timestamp
impl Columnation for Timestamp
§type InnerRegion = CopyRegion<Timestamp>
type InnerRegion = CopyRegion<Timestamp>
The type of region capable of absorbing allocations owned by
the
Self
type. Note: not allocations of Self
, but of the
things that it owns.source§impl<'a, E> DatumType<'a, E> for Timestamp
impl<'a, E> DatumType<'a, E> for Timestamp
source§impl<'de> Deserialize<'de> for Timestamp
impl<'de> Deserialize<'de> for Timestamp
source§fn 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
source§impl<'a> IntoOwned<'a> for Timestamp
impl<'a> IntoOwned<'a> for Timestamp
source§fn into_owned(self) -> Self::Owned
fn into_owned(self) -> Self::Owned
Conversion from an instance of this type to the owned type.
source§fn clone_onto(self, other: &mut Self::Owned)
fn clone_onto(self, other: &mut Self::Owned)
Clones
self
onto an existing instance of the owned type.source§impl Lattice for Timestamp
impl Lattice for Timestamp
source§fn join(&self, other: &Self) -> Self
fn join(&self, other: &Self) -> Self
The smallest element greater than or equal to both arguments. Read more
source§fn meet(&self, other: &Self) -> Self
fn meet(&self, other: &Self) -> Self
The largest element less than or equal to both arguments. Read more
source§fn join_assign(&mut self, other: &Self)where
Self: Sized,
fn join_assign(&mut self, other: &Self)where
Self: Sized,
Updates
self
to the smallest element greater than or equal to both arguments. Read moresource§fn meet_assign(&mut self, other: &Self)where
Self: Sized,
fn meet_assign(&mut self, other: &Self)where
Self: Sized,
Updates
self
to the largest element less than or equal to both arguments. Read moresource§fn advance_by(&mut self, frontier: AntichainRef<'_, Self>)where
Self: Sized,
fn advance_by(&mut self, frontier: AntichainRef<'_, Self>)where
Self: Sized,
Advances self to the largest time indistinguishable under
frontier
. Read moresource§impl MzRegionPreference for Timestamp
impl MzRegionPreference for Timestamp
source§impl Ord for Timestamp
impl Ord for Timestamp
source§impl PartialOrd for Timestamp
impl PartialOrd for Timestamp
source§impl PartialOrder<&Timestamp> for Timestamp
impl PartialOrder<&Timestamp> for Timestamp
source§impl PartialOrder<Timestamp> for &Timestamp
impl PartialOrder<Timestamp> for &Timestamp
source§impl PartialOrder for Timestamp
impl PartialOrder for Timestamp
source§impl PathSummary<Timestamp> for Timestamp
impl PathSummary<Timestamp> for Timestamp
source§impl RustType<ProtoTimestamp> for Timestamp
impl RustType<ProtoTimestamp> for Timestamp
source§fn into_proto(&self) -> ProtoTimestamp
fn into_proto(&self) -> ProtoTimestamp
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoTimestamp) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoTimestamp) -> Result<Self, TryFromProtoError>
source§fn into_proto_owned(self) -> Proto
fn into_proto_owned(self) -> Proto
A zero clone version of
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.source§impl StepForward for Timestamp
impl StepForward for Timestamp
source§fn step_forward(&self) -> Self
fn step_forward(&self) -> Self
Advance a timestamp by the least amount possible such that
ts.less_than(ts.step_forward())
is true. Panic if unable to do so.source§impl TimestampManipulation for Timestamp
impl TimestampManipulation for Timestamp
source§fn step_forward(&self) -> Self
fn step_forward(&self) -> Self
Advance a timestamp by the least amount possible such that
ts.less_than(ts.step_forward())
is true. Panic if unable to do so.source§fn step_forward_by(&self, amount: &Self) -> Self
fn step_forward_by(&self, amount: &Self) -> Self
Advance a timestamp forward by the given
amount
. Panic if unable to do so.source§fn try_step_forward(&self) -> Option<Self>
fn try_step_forward(&self) -> Option<Self>
Advance a timestamp by the least amount possible such that
ts.less_than(ts.step_forward())
is true. Return None
if unable to do so.source§fn try_step_forward_by(&self, amount: &Self) -> Option<Self>
fn try_step_forward_by(&self, amount: &Self) -> Option<Self>
Advance a timestamp forward by the given
amount
. Return None
if unable to do so.source§fn step_back(&self) -> Option<Self>
fn step_back(&self) -> Option<Self>
Retreat a timestamp by the least amount possible such that
ts.step_back().unwrap().less_than(ts)
is true. Return None
if unable,
which must only happen if the timestamp is Timestamp::minimum()
.source§fn round_up(&self, schedule: &RefreshSchedule) -> Option<Self>
fn round_up(&self, schedule: &RefreshSchedule) -> Option<Self>
Rounds up the timestamp to the time of the next refresh according to the given schedule.
Returns None if there is no next refresh.
source§fn round_down_minus_1(&self, schedule: &RefreshSchedule) -> Option<Self>
fn round_down_minus_1(&self, schedule: &RefreshSchedule) -> Option<Self>
Rounds down
timestamp - 1
to the time of the previous refresh according to the given
schedule.
Returns None if there is no previous refresh.impl Copy for Timestamp
impl Eq for Timestamp
impl StructuralPartialEq for Timestamp
impl TotalOrder for Timestamp
Auto Trait Implementations§
impl Freeze for Timestamp
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnwindSafe for Timestamp
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> PreferredContainer for T
impl<T> PreferredContainer for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.