pub struct Timestamp { /* private fields */ }
Expand description

System-wide timestamp type.

Implementations§

source§

impl Timestamp

source

pub const MAX: Self = _

source

pub const MIN: Self = _

source

pub const fn new(timestamp: u64) -> Self

source

pub fn to_bytes(&self) -> [u8; 8]

source

pub fn from_bytes(bytes: [u8; 8]) -> Self

source

pub fn saturating_sub<I: Into<Self>>(self, rhs: I) -> Self

source

pub fn saturating_add<I: Into<Self>>(self, rhs: I) -> Self

source

pub fn saturating_mul<I: Into<Self>>(self, rhs: I) -> Self

source

pub fn checked_add<I: Into<Self>>(self, rhs: I) -> Option<Self>

source

pub fn checked_sub<I: Into<Self>>(self, rhs: I) -> Option<Self>

source

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.

source

pub fn step_forward_by(&self, amount: &Self) -> Self

Advance a timestamp forward by the given amount. Panic if unable to do so.

source

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.

source

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.

source

pub 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().

Trait Implementations§

source§

impl Arbitrary for Timestamp

§

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>

The type of Strategy used to generate values of type Self.
source§

fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy

Generates a Strategy for producing arbitrary values of type the implementing type (Self). The strategy is passed the arguments given in args. Read more
source§

fn arbitrary() -> Self::Strategy

Generates a Strategy for producing arbitrary values of type the implementing type (Self). Read more
source§

impl<'a> AsColumnType for Timestamp

source§

fn as_column_type() -> ColumnType

The SQL column type of this Rust type
source§

impl Clone for Timestamp

source§

fn clone(&self) -> Timestamp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Codec64 for Timestamp

source§

fn codec_name() -> String

Name of the codec. Read more
source§

fn encode(&self) -> [u8; 8]

Encode a timestamp or diff for permanent storage. Read more
source§

fn decode(buf: [u8; 8]) -> Self

Decode a timestamp or diff previous encoded with this codec’s Codec64::encode. Read more
source§

impl Columnation for 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 DatumToPersist for Timestamp

§

type Data = u64

The persist columnar type we’re mapping to/from.
§

type Cfg = ()

Any information, in addition to the type of Self::Data, that is necessary to derive the columnar schema of this type. E.g. for ScalarType::Record, this will be the schema of the record.
source§

const CFG: Self::Cfg = ()

source§

const STATS_FN: StatsFn = StatsFn::Default

Which logic to use for computing aggregate stats.
source§

fn encode(col: &mut <Self::Data as Data>::Mut, datum: Datum<'_>)

Encodes and pushes the given Datum into the persist column. Read more
source§

fn decode(val: <Self::Data as Data>::Ref<'_>, row: &mut RowPacker<'_>)

Decodes the data with the given reference into a Datum. This Datum is returned by pushing it in to the given RowPacker.
source§

fn encode_default(col: &mut <Self::Data as Data>::Mut)

Pushes the default value for this type into the column. Read more
source§

impl<'a, E> DatumType<'a, E> for Timestamp

source§

fn nullable() -> bool

Whether this Rust type can represent NULL values
source§

fn fallible() -> bool

Whether this Rust type can represent errors
source§

fn try_from_result( res: Result<Datum<'a>, E> ) -> Result<Self, Result<Datum<'a>, E>>

Try to convert a Result whose Ok variant is a Datum into this native Rust type (Self). If it fails the error variant will contain the original result.
source§

fn into_result(self, _temp_storage: &'a RowArena) -> Result<Datum<'a>, E>

Convert this Rust type into a Result containing a Datum, or an error
source§

impl Debug for Timestamp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Timestamp

source§

fn default() -> Timestamp

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Timestamp

source§

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 Display for Timestamp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<&Timestamp> for u64

source§

fn from(ts: &Timestamp) -> Self

Converts to this type from the input type.
source§

impl<'a> From<Timestamp> for Datum<'a>

source§

fn from(ts: Timestamp) -> Datum<'a>

Converts to this type from the input type.
source§

impl From<Timestamp> for Numeric

source§

fn from(ts: Timestamp) -> Self

Converts to this type from the input type.
source§

impl From<Timestamp> for u128

source§

fn from(ts: Timestamp) -> Self

Converts to this type from the input type.
source§

impl From<Timestamp> for u64

source§

fn from(ts: Timestamp) -> Self

Converts to this type from the input type.
source§

impl From<u64> for Timestamp

source§

fn from(internal: u64) -> Self

Converts to this type from the input type.
source§

impl FromStr for Timestamp

§

type Err = String

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Timestamp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Lattice for Timestamp

source§

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

The largest element less than or equal to both arguments. Read more
source§

fn join_assign(&mut self, other: &Self)
where Self: Sized,

Updates self to the smallest element greater than or equal to both arguments. Read more
source§

fn meet_assign(&mut self, other: &Self)
where Self: Sized,

Updates self to the largest element less than or equal to both arguments. Read more
source§

fn advance_by(&mut self, frontier: AntichainRef<'_, Self>)
where Self: Sized,

Advances self to the largest time indistinguishable under frontier. Read more
source§

impl Ord for Timestamp

source§

fn cmp(&self, other: &Timestamp) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Timestamp

source§

fn eq(&self, other: &Timestamp) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Timestamp

source§

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 · source§

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 · source§

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
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl PartialOrder for Timestamp

source§

fn less_equal(&self, other: &Self) -> bool

Returns true iff one element is less than or equal to the other.
source§

fn less_than(&self, other: &Self) -> bool

Returns true iff one element is strictly less than the other.
source§

impl PathSummary<Timestamp> for Timestamp

source§

fn results_in(&self, src: &Timestamp) -> Option<Timestamp>

Advances a timestamp according to the timestamp actions on the path. Read more
source§

fn followed_by(&self, other: &Timestamp) -> Option<Timestamp>

Composes this path summary with another path summary. Read more
source§

impl Refines<()> for Timestamp

source§

fn to_inner(_: ()) -> Timestamp

Converts the outer timestamp to an inner timestamp.
source§

fn to_outer(self)

Converts the inner timestamp to an outer timestamp.
source§

fn summarize(_: <Timestamp as Timestamp>::Summary)

Summarizes an inner path summary as an outer path summary. Read more
source§

impl Rem for Timestamp

§

type Output = Timestamp

The resulting type after applying the % operator.
source§

fn rem(self, rhs: Timestamp) -> Self::Output

Performs the % operation. Read more
source§

impl RustType<ProtoTimestamp> for Timestamp

source§

fn into_proto(&self) -> ProtoTimestamp

Convert a Self into a Proto value.
source§

fn from_proto(proto: ProtoTimestamp) -> Result<Self, TryFromProtoError>

Consume and convert a Proto back into a Self value. Read more
source§

impl Serialize for Timestamp

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StepForward for Timestamp

source§

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 Timestamp for Timestamp

§

type Summary = Timestamp

A type summarizing action on a timestamp along a dataflow path.
source§

fn minimum() -> Self

A minimum value suitable as a default.
source§

impl TimestampManipulation for Timestamp

source§

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

Advance a timestamp forward by the given amount. Panic if unable to do so.
source§

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>

Advance a timestamp forward by the given amount. Return None if unable to do so.
source§

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 maximum() -> Self

Return the maximum value for this timestamp.
source§

impl TryFrom<Datum<'_>> for Timestamp

§

type Error = ()

The type returned in the event of a conversion error.
source§

fn try_from(from: Datum<'_>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Decimal<NUMERIC_DATUM_WIDTH_USIZE>> for Timestamp

§

type Error = TryFromDecimalError

The type returned in the event of a conversion error.
source§

fn try_from(value: Numeric) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Duration> for Timestamp

§

type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

fn try_from(value: Duration) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Timestamp> for i64

§

type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

fn try_from(value: Timestamp) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<i64> for Timestamp

§

type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

fn try_from(value: i64) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<u128> for Timestamp

§

type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

fn try_from(value: u128) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Copy for Timestamp

source§

impl Eq for Timestamp

source§

impl StructuralEq for Timestamp

source§

impl StructuralPartialEq for Timestamp

source§

impl TotalOrder for Timestamp

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

fn cast_into(self) -> U

Performs the cast.
source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

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
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for T
where T: Clone,

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Hashable for T
where T: Hash,

§

type Output = u64

The type of the output value.
source§

fn hashed(&self) -> u64

A well-distributed integer derived from the data.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> PreferredContainer for T
where T: Ord + Clone + 'static,

§

type Container = Vec<T>

The preferred container for the type.
source§

impl<T> ProgressEventTimestamp for T
where T: Data + Debug + Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Upcasts this ProgressEventTimestamp to Any. Read more
source§

fn type_name(&self) -> &'static str

Returns the name of the concrete type of this object. Read more
source§

impl<P, R> ProtoType<R> for P
where R: RustType<P>,

source§

impl<T> PushInto<Vec<T>> for T

source§

fn push_into(self, target: &mut Vec<T>)

Push self into the target container.
source§

impl<T> Refines<T> for T
where T: Timestamp,

source§

fn to_inner(other: T) -> T

Converts the outer timestamp to an inner timestamp.
source§

fn to_outer(self) -> T

Converts the inner timestamp to an outer timestamp.
source§

fn summarize(path: <T as Timestamp>::Summary) -> <T as Timestamp>::Summary

Summarizes an inner path summary as an outer path summary. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Data for T
where T: Clone + 'static,

source§

impl<T> Data for T
where T: Send + Sync + Any + Serialize + for<'a> Deserialize<'a> + 'static,

source§

impl<T> Data for T
where T: Data + Ord + Debug,

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> ExchangeData for T
where T: Data + Data,

source§

impl<T> ExchangeData for T
where T: ExchangeData + Ord + Debug,

source§

impl<T> Sequence for T
where T: Eq + Hash,