pub struct Span<T, B> {
pub desc: Description<T>,
pub inner: Option<B>,
}Expand description
An interval of a trace’s history: a description of the times it covers, and the batch of updates within it, absent exactly when there are none.
The interval is never empty, but the batch may be missing; a span records that its times happened and brought no updates.
Fields§
§desc: Description<T>The lower and upper bounds of contained update times, and the compaction frontier.
inner: Option<B>The updates within the interval; absent exactly when there are none.
Implementations§
Source§impl<T, B> Span<T, B>
impl<T, B> Span<T, B>
Sourcepub fn new(desc: Description<T>, inner: Option<B>) -> Self
pub fn new(desc: Description<T>, inner: Option<B>) -> Self
A span from a description and the batch within it, absent when there are no updates.
Sourcepub fn lower(&self) -> &Antichain<T>
pub fn lower(&self) -> &Antichain<T>
All times in the span are greater or equal to an element of lower.
Sourcepub fn upper(&self) -> &Antichain<T>
pub fn upper(&self) -> &Antichain<T>
All times in the span are not greater or equal to any element of upper.
Sourcepub fn has_updates(&self) -> bool
pub fn has_updates(&self) -> bool
True if the span carries a batch of updates.
This is about the updates, not the interval, which is never empty.
Trait Implementations§
Auto Trait Implementations§
impl<T, B> Freeze for Span<T, B>
impl<T, B> RefUnwindSafe for Span<T, B>
impl<T, B> Send for Span<T, B>
impl<T, B> Sync for Span<T, B>
impl<T, B> Unpin for Span<T, B>
impl<T, B> UnsafeUnpin for Span<T, B>
impl<T, B> UnwindSafe for Span<T, B>
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<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> ⓘ
Converts
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> ⓘ
Converts
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<'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.