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

source ·
pub struct OutputWrapper<T: Timestamp, C: Container, P: Push<Bundle<T, C>>> { /* 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, C: Container, P: Push<Bundle<T, C>>> OutputWrapper<T, C, P>

source

pub fn new( push_buffer: Buffer<T, C, PushCounter<T, C, 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, C, 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, C: Debug + Container, P: Debug + Push<Bundle<T, C>>> Debug for OutputWrapper<T, C, P>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

impl<T, C, P> Unpin for OutputWrapper<T, C, P>
where C: Unpin, T: Unpin, P: Unpin,

§

impl<T, C, P> !UnwindSafe for OutputWrapper<T, C, 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<R, O, T> CopyOnto<ConsecutiveOffsetPairs<R, O>> for T
where R: Region<Index = (usize, usize)>, O: OffsetContainer<usize>, T: CopyOnto<R>,

source§

fn copy_onto( self, target: &mut ConsecutiveOffsetPairs<R, O> ) -> <ConsecutiveOffsetPairs<R, O> as Region>::Index

Copy self into the target container, returning an index that allows to look up the corresponding read item.
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<R, T> PushInto<FlatStack<R>> for T
where R: Region + Clone + 'static, T: CopyOnto<R>,

source§

fn push_into(self, target: &mut FlatStack<R>)

Push self into the target container.
source§

impl<T> PushInto<Vec<T>> for T

source§

fn push_into(self, target: &mut Vec<T>)

Push self into the target container.
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.