Trait MessageSender

Source
pub trait MessageSender<T: Message> {
    // Provided methods
    fn send<'a>(&self, _message: impl Into<&'a T>) -> PortResult<()>
       where T: 'a { ... }
    fn try_send<'a>(&self, _message: impl Into<&'a T>) -> PortResult<bool>
       where T: 'a { ... }
}

Provided Methods§

Source

fn send<'a>(&self, _message: impl Into<&'a T>) -> PortResult<()>
where T: 'a,

Sends a message, blocking until it has been sent.

Returns Ok(()) if the message was sent. Returns Err(PortError::Disconnected) if the port is disconnected. Returns Err(PortError::Closed) if the port is closed. Returns Err(PortError) if another error occurs.

Source

fn try_send<'a>(&self, _message: impl Into<&'a T>) -> PortResult<bool>
where T: 'a,

Tries to send a message, returning immediately.

Returns Ok(true) if the message was sent. Returns Ok(false) if the message could not be immediately sent. Returns Err(PortError::Disconnected) if the port is disconnected. Returns Err(PortError::Closed) if the port is closed. Returns Err(PortError) if another error occurs.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T: Message> MessageSender<T> for OutputPort<T>

Source§

impl<T: Message, const N: usize> MessageSender<T> for OutputPorts<T, N>