Struct timely::dataflow::operators::InputCapability

source ·
pub struct InputCapability<T: Timestamp> { /* private fields */ }
Expand description

An capability of an input port. Holding onto this capability will implicitly holds onto a capability for all the outputs ports this input is connected to, after the connection summaries have been applied.

This input capability supplies a retain_for_output(self) method which consumes the input capability and turns it into a Capability for a specific output port.

Implementations§

source§

impl<T: Timestamp> InputCapability<T>

source

pub fn time(&self) -> &T

The timestamp associated with this capability.

source

pub fn delayed(&self, new_time: &T) -> Capability<T>

Makes a new capability for a timestamp new_time greater or equal to the timestamp of the source capability (self).

This method panics if self.time is not less or equal to new_time.

source

pub fn delayed_for_output( &self, new_time: &T, output_port: usize, ) -> Capability<T>

Delays capability for a specific output port.

source

pub fn retain(self) -> Capability<T>

Transform to an owned capability.

This method produces an owned capability which must be dropped to release the capability. Users should take care that these capabilities are only stored for as long as they are required, as failing to drop them may result in livelock.

This method panics if the timestamp summary to output zero strictly advances the time.

source

pub fn retain_for_output(self, output_port: usize) -> Capability<T>

Transforms to an owned capability for a specific output port.

This method panics if the timestamp summary to output_port strictly advances the time.

Trait Implementations§

source§

impl<T: Timestamp> Debug for InputCapability<T>

source§

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

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

impl<T: Timestamp> Deref for InputCapability<T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.

Auto Trait Implementations§

§

impl<T> Freeze for InputCapability<T>
where T: Freeze,

§

impl<T> !RefUnwindSafe for InputCapability<T>

§

impl<T> !Send for InputCapability<T>

§

impl<T> !Sync for InputCapability<T>

§

impl<T> Unpin for InputCapability<T>
where T: Unpin,

§

impl<T> !UnwindSafe for InputCapability<T>

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, 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.