Skip to main content

CapabilityTrait

Trait CapabilityTrait 

Source
pub trait CapabilityTrait<T: Timestamp> {
    // Required methods
    fn stamp(&self) -> Stamp<T>;
    fn valid_for_output(
        &self,
        query_buffer: &Rc<RefCell<ChangeBatch<T>>>,
        port: usize,
    ) -> bool;
}
Expand description

An internal trait expressing the capability to send messages with given timestamps.

Required Methods§

Source

fn stamp(&self) -> Stamp<T>

The stamp of timestamps to attach to messages sent with this capability.

Messages may only result in downstream work at times greater or equal to some element of the stamp. An empty stamp makes no progress claims, and such messages may be delivered after downstream frontiers have advanced past all times in their contents.

Source

fn valid_for_output( &self, query_buffer: &Rc<RefCell<ChangeBatch<T>>>, port: usize, ) -> bool

Validates that the capability is valid for a specific internal buffer and output port.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: Timestamp, C: CapabilityTrait<T>> CapabilityTrait<T> for &C

Source§

fn stamp(&self) -> Stamp<T>

Source§

fn valid_for_output( &self, query_buffer: &Rc<RefCell<ChangeBatch<T>>>, port: usize, ) -> bool

Source§

impl<T: Timestamp, C: CapabilityTrait<T>> CapabilityTrait<T> for &mut C

Source§

fn stamp(&self) -> Stamp<T>

Source§

fn valid_for_output( &self, query_buffer: &Rc<RefCell<ChangeBatch<T>>>, port: usize, ) -> bool

Implementors§