pub struct Mesh { /* private fields */ }Expand description
A Connection reactor
Implementations
sourceimpl Mesh
impl Mesh
sourcepub fn new(incoming_capacity: usize, outgoing_capacity: usize) -> Self
pub fn new(incoming_capacity: usize, outgoing_capacity: usize) -> Self
Create a new mesh, spawning a background thread for sending and receiving, and setting up channels to communicate with it.
sourcepub fn add(
&self,
connection: Box<dyn Connection>,
unique_id: String
) -> Result<usize, AddError>
pub fn add(
&self,
connection: Box<dyn Connection>,
unique_id: String
) -> Result<usize, AddError>
Add a new connection to the mesh, moving it to the background thread, and add the returned mesh id to the unique_ids map
sourcepub fn remove(&self, unique_id: &str) -> Result<Box<dyn Connection>, RemoveError>
pub fn remove(&self, unique_id: &str) -> Result<Box<dyn Connection>, RemoveError>
Remove an existing connection from the mesh and return it.
sourcepub fn send(&self, envelope: Envelope) -> Result<(), SendError>
pub fn send(&self, envelope: Envelope) -> Result<(), SendError>
Send the envelope on the mesh.
This is a convenience function and is equivalent to
mesh.outgoing(envelope.id()).send(Vec::from(envelope)).
sourcepub fn recv_timeout(
&self,
timeout: Duration
) -> Result<Envelope, RecvTimeoutError>
pub fn recv_timeout(
&self,
timeout: Duration
) -> Result<Envelope, RecvTimeoutError>
Receive a new envelope from the mesh.
sourcepub fn get_life_cycle(&self) -> MeshLifeCycle
pub fn get_life_cycle(&self) -> MeshLifeCycle
Creates a MeshLifeCycle that can be used to add and remove connection from this Mesh
sourcepub fn get_sender(&self) -> MeshMatrixSender
pub fn get_sender(&self) -> MeshMatrixSender
Creates a MeshMatrixSender that can be used to send messages over through this Mesh
sourcepub fn get_receiver(&self) -> MeshMatrixReceiver
pub fn get_receiver(&self) -> MeshMatrixReceiver
Creates a MeshMatrixReceiver that can be used to receives message from this Mesh
Trait Implementations
sourceimpl ShutdownHandle for Mesh
impl ShutdownHandle for Mesh
sourcefn signal_shutdown(&mut self)
fn signal_shutdown(&mut self)
Instructs the component to begin shutting down. Read more
sourcefn wait_for_shutdown(self) -> Result<(), InternalError>
fn wait_for_shutdown(self) -> Result<(), InternalError>
Waits until the the component has completely shutdown. Read more
Auto Trait Implementations
impl !RefUnwindSafe for Mesh
impl Send for Mesh
impl !Sync for Mesh
impl Unpin for Mesh
impl !UnwindSafe for Mesh
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<P, N> IntoBytes<P> for N where
P: Message + FromNative<N>,
impl<P, N> IntoBytes<P> for N where
P: Message + FromNative<N>,
fn into_bytes(self) -> Result<Vec<u8, Global>, ProtoConversionError>
sourceimpl<N, P> IntoNative<N> for P where
N: FromProto<P>,
impl<N, P> IntoNative<N> for P where
N: FromProto<P>,
fn into_native(self) -> Result<N, ProtoConversionError>
sourceimpl<N, P> IntoProto<P> for N where
P: FromNative<N>,
impl<N, P> IntoProto<P> for N where
P: FromNative<N>,
fn into_proto(self) -> Result<P, ProtoConversionError>
sourceimpl<T> IntoSql for T
impl<T> IntoSql for T
sourcefn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
Convert self to an expression for Diesel’s query builder. Read more
sourcefn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
Convert &self to an expression for Diesel’s query builder. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more