Struct timely::dataflow::channels::Message

source ·
pub struct Message<T, C> {
    pub time: T,
    pub data: C,
    pub from: usize,
    pub seq: usize,
}
Expand description

A serializable representation of timestamped data.

Fields§

§time: T

The timestamp associated with the message.

§data: C

The data in the message.

§from: usize

The source worker.

§seq: usize

A sequence number for this worker-to-worker stream.

Implementations§

source§

impl<T, C> Message<T, C>

source

pub fn default_length() -> usize

👎Deprecated: Use timely::buffer::default_capacity instead

Default buffer size.

source§

impl<T, C: Container> Message<T, C>

source

pub fn new(time: T, data: C, from: usize, seq: usize) -> Self

Creates a new message instance from arguments.

source

pub fn push_at<P: Push<Message<T, C>>>(buffer: &mut C, time: T, pusher: &mut P)

Forms a message, and pushes contents at pusher. Replaces buffer with what the pusher leaves in place, or the container’s default element. The buffer is cleared.

Trait Implementations§

source§

impl<T, C> Bytesable for Message<T, C>
where T: Serialize + for<'a> Deserialize<'a>, C: ContainerBytes,

source§

fn from_bytes(bytes: Bytes) -> Self

Wrap bytes as Self.
source§

fn length_in_bytes(&self) -> usize

The number of bytes required to serialize the data.
source§

fn into_bytes<W: Write>(&self, writer: &mut W)

Writes the binary representation into writer.
source§

impl<T: Clone, C: Clone> Clone for Message<T, C>

source§

fn clone(&self) -> Message<T, C>

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, C: Container, P: Pull<Message<T, C>>> Pull<Message<T, C>> for LogPuller<T, C, P>

source§

fn pull(&mut self) -> &mut Option<Message<T, C>>

Pulls an element and provides the opportunity to take ownership. Read more
source§

fn recv(&mut self) -> Option<T>

Takes an Option<T> and leaves None behind.
source§

impl<T: Eq + Data, CB, P, H> Push<Message<T, <CB as ContainerBuilder>::Container>> for Exchange<T, CB, P, H>
where CB: ContainerBuilder + for<'a> PushInto<<CB::Container as Container>::Item<'a>>, CB::Container: SizableContainer, P: Push<Message<T, CB::Container>>, for<'a> H: FnMut(&<CB::Container as Container>::Item<'a>) -> u64,

source§

fn push(&mut self, message: &mut Option<Message<T, CB::Container>>)

Pushes element with the opportunity to take ownership.
source§

fn send(&mut self, element: T)

Pushes element and drops any resulting resources.
source§

fn done(&mut self)

Pushes None, conventionally signalling a flush.
source§

impl<T: Timestamp, C: Container, P> Push<Message<T, C>> for Counter<T, C, P>
where P: Push<Message<T, C>>,

source§

fn push(&mut self, message: &mut Option<Message<T, C>>)

Pushes element with the opportunity to take ownership.
source§

fn send(&mut self, element: T)

Pushes element and drops any resulting resources.
source§

fn done(&mut self)

Pushes None, conventionally signalling a flush.
source§

impl<T, C: Container, P: Push<Message<T, C>>> Push<Message<T, C>> for LogPusher<T, C, P>

source§

fn push(&mut self, pair: &mut Option<Message<T, C>>)

Pushes element with the opportunity to take ownership.
source§

fn send(&mut self, element: T)

Pushes element and drops any resulting resources.
source§

fn done(&mut self)

Pushes None, conventionally signalling a flush.
source§

impl<T: Data, C: Container + Data> Push<Message<T, C>> for Tee<T, C>

source§

fn push(&mut self, message: &mut Option<Message<T, C>>)

Pushes element with the opportunity to take ownership.
source§

fn send(&mut self, element: T)

Pushes element and drops any resulting resources.
source§

fn done(&mut self)

Pushes None, conventionally signalling a flush.

Auto Trait Implementations§

§

impl<T, C> Freeze for Message<T, C>
where T: Freeze, C: Freeze,

§

impl<T, C> RefUnwindSafe for Message<T, C>

§

impl<T, C> Send for Message<T, C>
where T: Send, C: Send,

§

impl<T, C> Sync for Message<T, C>
where T: Sync, C: Sync,

§

impl<T, C> Unpin for Message<T, C>
where T: Unpin, C: Unpin,

§

impl<T, C> UnwindSafe for Message<T, C>
where T: UnwindSafe, C: UnwindSafe,

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> 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> 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,

source§

impl<T> Exchangeable for T
where T: Send + Any + Bytesable,