pub struct BarrierTracker { /* private fields */ }Expand description
Per-operator alignment state. Cheap to construct; one instance per sharded operator.
Implementations§
Source§impl BarrierTracker
impl BarrierTracker
Sourcepub fn new(inputs: usize) -> Self
pub fn new(inputs: usize) -> Self
Construct a tracker for an operator with inputs shuffle
inputs. inputs must be > 0; zero-input operators have nothing
to align.
§Panics
Panics if inputs == 0.
Sourcepub fn observe(
&self,
from_input: usize,
barrier: CheckpointBarrier,
) -> Option<CheckpointBarrier>
pub fn observe( &self, from_input: usize, barrier: CheckpointBarrier, ) -> Option<CheckpointBarrier>
Record that from_input observed barrier. Returns Some when
every input has now seen a barrier for the same checkpoint_id
— the operator should snapshot state and emit a downstream
barrier. Returns None when alignment is still pending.
Repeat observations for the same input / checkpoint are idempotent (they don’t double-count).
§Panics
Panics if from_input >= self.inputs.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for BarrierTracker
impl !RefUnwindSafe for BarrierTracker
impl Send for BarrierTracker
impl Sync for BarrierTracker
impl Unpin for BarrierTracker
impl UnsafeUnpin for BarrierTracker
impl UnwindSafe for BarrierTracker
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.