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
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>
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
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
Source§type Container = TimestampContainer<<u64 as Columnar>::Container>
type Container = TimestampContainer<<u64 as Columnar>::Container>
Source§fn copy_from<'a>(&mut self, other: Self::Ref<'a>)
fn copy_from<'a>(&mut self, other: Self::Ref<'a>)
self
from a reference. Read moreSource§fn into_owned<'a>(other: Self::Ref<'a>) -> Self
fn into_owned<'a>(other: Self::Ref<'a>) -> Self
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,
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,
Source§impl Columnation for Timestamp
impl Columnation for Timestamp
Source§type InnerRegion = CopyRegion<Timestamp>
type InnerRegion = CopyRegion<Timestamp>
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>,
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
Source§fn clone_onto(self, other: &mut Self::Owned)
fn clone_onto(self, other: &mut Self::Owned)
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
Source§fn meet(&self, other: &Self) -> Self
fn meet(&self, other: &Self) -> Self
Source§fn join_assign(&mut self, other: &Self)where
Self: Sized,
fn join_assign(&mut self, other: &Self)where
Self: Sized,
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,
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,
frontier
. Read moreSource§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
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
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
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
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
amount
. Panic if unable to do so.Source§fn try_step_forward(&self) -> Option<Self>
fn try_step_forward(&self) -> Option<Self>
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>
amount
. Return None
if unable to do so.Source§fn step_back(&self) -> Option<Self>
fn step_back(&self) -> Option<Self>
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>
Source§fn round_down_minus_1(&self, schedule: &RefreshSchedule) -> Option<Self>
fn round_down_minus_1(&self, schedule: &RefreshSchedule) -> Option<Self>
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
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
key
and return true
if they are equal.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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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>
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PreferredContainer for T
impl<T> PreferredContainer 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>
RustType::from_proto
.Source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
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)
std::ops::AddAssign
, for types that do not implement AddAssign
.