pub enum NetworkRecv {
Custom {
deserialize_fn: Option<DebugExpr>,
},
Embedded {
tag: Option<DebugType>,
element_type: DebugType,
},
}Expand description
How a network channel’s receiver recovers each message from the transport. See
NetworkSend for the sender half.
Variants§
Custom
Deserialization is performed within the Hydro dataflow using the provided deserialize
expression. This is how channels using crate::networking::Bincode are lowered.
Embedded
Deserialization is left to code outside of Hydro (see crate::networking::Embedded). The
raw element_type is delivered to the receiver directly, with no transport Result to
unwrap (the external code that produces the stream decides how to handle faults). The only
transformation is converting a TaglessMemberId back into a typed
crate::location::MemberId (the sender cluster tag, when the receiver is keyed by
sender). Only supported by the embedded backend.
Trait Implementations§
Source§impl Clone for NetworkRecv
impl Clone for NetworkRecv
Source§fn clone(&self) -> NetworkRecv
fn clone(&self) -> NetworkRecv
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NetworkRecv
impl Debug for NetworkRecv
Source§impl Hash for NetworkRecv
impl Hash for NetworkRecv
Auto Trait Implementations§
impl !Send for NetworkRecv
impl !Sync for NetworkRecv
impl Freeze for NetworkRecv
impl RefUnwindSafe for NetworkRecv
impl Unpin for NetworkRecv
impl UnsafeUnpin for NetworkRecv
impl UnwindSafe for NetworkRecv
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.