Skip to main content

SharedProgress

Struct SharedProgress 

Source
pub struct SharedProgress<T: Timestamp> {
    pub frontiers: Vec<ChangeBatch<T>>,
    pub consumeds: Vec<ChangeBatch<T>>,
    pub internals: Vec<ChangeBatch<T>>,
    pub produceds: Vec<ChangeBatch<T>>,
    pub pushed: Vec<bool>,
}
Expand description

Progress information shared between parent and child.

Fields§

§frontiers: Vec<ChangeBatch<T>>

Frontier capability changes reported by the parent scope.

§consumeds: Vec<ChangeBatch<T>>

Consumed message changes reported by the child operator.

§internals: Vec<ChangeBatch<T>>

Internal capability changes reported by the child operator.

§produceds: Vec<ChangeBatch<T>>

Produced message changes reported by the child operator.

§pushed: Vec<bool>

Outputs on which a scope sent records this activation, before reporting them as produced.

Only scopes set this: a scope reports records leaving it as produced only once its own progress updates have been exchanged. This lets its parent schedule the recipients sooner, which changes no counts. Ordinary operators report produced records directly.

Implementations§

Source§

impl<T: Timestamp> SharedProgress<T>

Source

pub fn new(inputs: usize, outputs: usize) -> Self

Allocates a new shared progress structure.

Trait Implementations§

Source§

impl<T: Debug + Timestamp> Debug for SharedProgress<T>

Source§

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

Formats the value using the given formatter. Read more

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.