Struct timely::dataflow::operators::Capability

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

The capability to send data with a certain timestamp on a dataflow edge.

Capabilities are used by timely dataflow’s progress tracking machinery to restrict and track when user code retains the ability to send messages on dataflow edges. All capabilities are constructed by the system, and should eventually be dropped by the user. Failure to drop a capability (for whatever reason) will cause timely dataflow’s progress tracking to stall.

Implementations§

source§

impl<T: Timestamp> Capability<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 try_delayed(&self, new_time: &T) -> Option<Capability<T>>

Attempts to make a new capability for a timestamp new_time that is greater or equal to the timestamp of the source capability (self).

Returns None self.time is not less or equal to new_time.

source

pub fn downgrade(&mut self, new_time: &T)

Downgrades the capability to one corresponding to new_time.

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

source

pub fn try_downgrade(&mut self, new_time: &T) -> Result<(), DowngradeError>

Attempts to downgrade the capability to one corresponding to new_time.

Returns a DowngradeError if self.time is not less or equal to new_time.

Trait Implementations§

source§

impl<T: Timestamp> Clone for Capability<T>

source§

fn clone(&self) -> Capability<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

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

source§

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

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

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

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
source§

impl<T: Timestamp> Drop for Capability<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T: Timestamp> Hash for Capability<T>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T: Timestamp> PartialEq for Capability<T>

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Timestamp> PartialOrder for Capability<T>

source§

fn less_equal(&self, other: &Self) -> bool

Returns true iff one element is less than or equal to the other.
source§

fn less_than(&self, other: &Rhs) -> bool

Returns true iff one element is strictly less than the other.
source§

impl<T: Timestamp> Eq for Capability<T>

Auto Trait Implementations§

§

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

§

impl<T> !RefUnwindSafe for Capability<T>

§

impl<T> !Send for Capability<T>

§

impl<T> !Sync for Capability<T>

§

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

§

impl<T> !UnwindSafe for Capability<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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ProgressEventTimestamp for T
where T: Data + Debug + Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Upcasts this ProgressEventTimestamp to Any. Read more
source§

fn type_name(&self) -> &'static str

Returns the name of the concrete type of this object. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
source§

impl<T> Data for T
where T: Clone + 'static,