Struct timely::dataflow::operators::generic::OutputWrapper

source ·
pub struct OutputWrapper<T: Timestamp, CB: ContainerBuilder, P: Push<Message<T, CB::Container>>> { /* private fields */ }
Expand description

An owned instance of an output buffer which ensures certain API use.

An OutputWrapper exists to prevent anyone from using the wrapped buffer in any way other than with an OutputHandle, whose methods ensure that capabilities are used and that the pusher is flushed (via the cease method) once it is no longer used.

Implementations§

source§

impl<T: Timestamp, CB: ContainerBuilder, P: Push<Message<T, CB::Container>>> OutputWrapper<T, CB, P>

source

pub fn new( push_buffer: Buffer<T, CB, PushCounter<T, CB::Container, P>>, internal_buffer: Rc<RefCell<ChangeBatch<T>>>, ) -> Self

Creates a new output wrapper from a push buffer.

source

pub fn activate(&mut self) -> OutputHandleCore<'_, T, CB, P>

Borrows the push buffer into a handle, which can be used to send records.

This method ensures that the only access to the push buffer is through the OutputHandle type which ensures the use of capabilities, and which calls cease when it is dropped.

Trait Implementations§

source§

impl<T: Debug + Timestamp, CB: Debug + ContainerBuilder, P: Debug + Push<Message<T, CB::Container>>> Debug for OutputWrapper<T, CB, P>
where CB::Container: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T, CB, P> Freeze for OutputWrapper<T, CB, P>
where CB: Freeze, T: Freeze, P: Freeze,

§

impl<T, CB, P> !RefUnwindSafe for OutputWrapper<T, CB, P>

§

impl<T, CB, P> !Send for OutputWrapper<T, CB, P>

§

impl<T, CB, P> !Sync for OutputWrapper<T, CB, P>

§

impl<T, CB, P> Unpin for OutputWrapper<T, CB, P>
where CB: Unpin, T: Unpin, P: Unpin, <CB as ContainerBuilder>::Container: Unpin,

§

impl<T, CB, P> !UnwindSafe for OutputWrapper<T, CB, P>

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

source§

fn copy_as(self) -> T

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.