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
Source§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
.Source§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 Columnar for Timestamp
impl Columnar for Timestamp
Source§type Ref<'a> = TimestampReference<<u64 as Columnar>::Ref<'a>>
where
u64: 'a
type Ref<'a> = TimestampReference<<u64 as Columnar>::Ref<'a>> where u64: 'a
For each lifetime, a reference with that lifetime. Read more
Source§type Container = TimestampContainer<<u64 as Columnar>::Container>
type Container = TimestampContainer<<u64 as Columnar>::Container>
The type that stores the columnar representation. Read more
Source§fn copy_from<'a>(&mut self, other: Self::Ref<'a>)
fn copy_from<'a>(&mut self, other: Self::Ref<'a>)
Repopulates
self
from a reference. Read moreSource§fn into_owned<'a>(other: Self::Ref<'a>) -> Self
fn into_owned<'a>(other: Self::Ref<'a>) -> Self
Produce an instance of
Self
from Self::Ref<'a>
.Source§fn as_columns<'a, I>(selves: I) -> Self::Containerwhere
I: IntoIterator<Item = &'a Self>,
Self: 'a,
fn as_columns<'a, I>(selves: I) -> Self::Containerwhere
I: IntoIterator<Item = &'a Self>,
Self: 'a,
Converts a sequence of the references to the type into columnar form.
Source§fn into_columns<I>(selves: I) -> Self::Containerwhere
I: IntoIterator<Item = Self>,
Self: Sized,
fn into_columns<I>(selves: I) -> Self::Containerwhere
I: IntoIterator<Item = Self>,
Self: Sized,
Converts a sequence of the type into columnar form. Read more
Source§impl Columnation for Timestamp
impl Columnation for Timestamp
Source§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<R0> PartialEq<Timestamp> for TimestampReference<R0>
impl<R0> PartialEq<Timestamp> for TimestampReference<R0>
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<'columnar, C0> Push<&'columnar Timestamp> for TimestampContainer<C0>
impl<'columnar, C0> Push<&'columnar Timestamp> for TimestampContainer<C0>
Source§impl<C0> Push<Timestamp> for TimestampContainer<C0>
impl<C0> Push<Timestamp> for TimestampContainer<C0>
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§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
.