Skip to main content

StreamEdge

Struct StreamEdge 

Source
pub struct StreamEdge { /* private fields */ }
Expand description

A typed, rate-contracted port carrying envelopes between sites.

An edge names its port, the RateContract (and thus clock domain) it must honor, the stream StreamMetadata flowing across it, and any envelopes already buffered on it.

Implementations§

Source§

impl StreamEdge

Source

pub fn new( port: Symbol, rate_contract: RateContract, metadata: StreamMetadata, ) -> Self

Creates an empty edge for port under the given rate contract and metadata.

Source

pub fn with_envelopes(self, envelopes: Vec<StreamEnvelope>) -> Self

Returns the edge with its buffered envelopes replaced.

Source

pub fn port(&self) -> &Symbol

Returns the port symbol naming this edge.

Source

pub fn rate_contract(&self) -> RateContract

Returns the rate contract this edge must honor.

Source

pub fn metadata(&self) -> &StreamMetadata

Returns the metadata of the stream flowing across this edge.

Source

pub fn envelopes(&self) -> &[StreamEnvelope]

Returns the envelopes currently buffered on this edge.

Source

pub fn result_envelope( &self, sequence: u64, payload: Expr, ) -> Result<StreamEnvelope>

Builds a site-result data envelope for this edge.

Wraps payload in a stream/data packet sequenced at sequence under a memory-local transport profile, using this edge’s metadata.

Trait Implementations§

Source§

impl Clone for StreamEdge

Source§

fn clone(&self) -> StreamEdge

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StreamEdge

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for StreamEdge

Source§

impl PartialEq for StreamEdge

Source§

fn eq(&self, other: &StreamEdge) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for StreamEdge

Auto Trait Implementations§

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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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,

Source§

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

Source§

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

Source§

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.