Struct timely::dataflow::channels::pushers::buffer::Session

source ·
pub struct Session<'a, T, C, P: Push<Bundle<T, C>> + 'a>
where T: Eq + Clone + 'a, C: 'a + Container,
{ /* private fields */ }
Expand description

An output session for sending records at a specified time.

The Session struct provides the user-facing interface to an operator output, namely the Buffer type. A Session wraps a session of output at a specified time, and avoids what would otherwise be a constant cost of checking timestamp equality.

Implementations§

source§

impl<'a, T, C, P: Push<Bundle<T, C>> + 'a> Session<'a, T, C, P>
where T: Eq + Clone + 'a, C: 'a + Container,

source

pub fn give_container(&mut self, container: &mut C)

Provide a container at the time specified by the Session.

source§

impl<'a, T, C, P: Push<Bundle<T, C>> + 'a> Session<'a, T, C, P>
where T: Eq + Clone + 'a, C: 'a + PushContainer,

source

pub fn give<D: PushInto<C>>(&mut self, data: D)

Provides one record at the time specified by the Session.

source

pub fn give_iterator<I: Iterator<Item = D>, D: PushInto<C>>(&mut self, iter: I)

Provides an iterator of records at the time specified by the Session.

source§

impl<'a, T, D, P: Push<Bundle<T, Vec<D>>> + 'a> Session<'a, T, Vec<D>, P>
where T: Eq + Clone + 'a, D: 'a + Data,

source

pub fn give_vec(&mut self, message: &mut Vec<D>)

Provides a fully formed Content<D> message for senders which can use this type.

The Content type is the backing memory for communication in timely, and it can often be more efficient to reuse this memory rather than have timely allocate new backing memory.

Auto Trait Implementations§

§

impl<'a, T, C, P> Freeze for Session<'a, T, C, P>

§

impl<'a, T, C, P> RefUnwindSafe for Session<'a, T, C, P>

§

impl<'a, T, C, P> Send for Session<'a, T, C, P>
where C: Send, P: Send, T: Send,

§

impl<'a, T, C, P> Sync for Session<'a, T, C, P>
where C: Sync, P: Sync, T: Sync,

§

impl<'a, T, C, P> Unpin for Session<'a, T, C, P>

§

impl<'a, T, C, P> !UnwindSafe for Session<'a, 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.