pub trait BlockingTxTrait<T: Send + 'static>:
Send
+ 'static
+ Debug
+ Display {
// Required methods
fn send(&self, _item: T) -> Result<(), SendError<T>>;
fn try_send(&self, _item: T) -> Result<(), TrySendError<T>>;
fn send_timeout(
&self,
item: T,
timeout: Duration,
) -> Result<(), SendTimeoutError<T>>;
fn len(&self) -> usize;
fn capacity(&self) -> Option<usize>;
fn is_empty(&self) -> bool;
fn is_full(&self) -> bool;
fn is_disconnected(&self) -> bool;
fn get_tx_count(&self) -> usize;
fn get_rx_count(&self) -> usize;
fn clone_to_vec(self, count: usize) -> Vec<Self>
where Self: Sized;
fn get_wakers_count(&self) -> (usize, usize);
}Expand description
For writing generic code with MTx & Tx
Required Methods§
Sourcefn send(&self, _item: T) -> Result<(), SendError<T>>
fn send(&self, _item: T) -> Result<(), SendError<T>>
Sends a message. This method will block until the message is sent or the channel is closed.
Returns Ok(()) on success.
Returns Err(SendError) if the receiver has been dropped.
Sourcefn try_send(&self, _item: T) -> Result<(), TrySendError<T>>
fn try_send(&self, _item: T) -> Result<(), TrySendError<T>>
Attempts to send a message without blocking.
Returns Ok(()) when successful.
Returns Err([TrySendError::Full]) if the channel is full.
Returns Err(TrySendError::Disconnected) if the receiver has been dropped.
Sourcefn send_timeout(
&self,
item: T,
timeout: Duration,
) -> Result<(), SendTimeoutError<T>>
fn send_timeout( &self, item: T, timeout: Duration, ) -> Result<(), SendTimeoutError<T>>
Sends a message with a timeout. Will block when channel is empty.
Returns Ok(()) when successful.
Returns Err(SendTimeoutError::Timeout) if the message could not be sent because the channel is full and the operation timed out.
Returns Err(SendTimeoutError::Disconnected) if the receiver has been dropped.
Sourcefn capacity(&self) -> Option<usize>
fn capacity(&self) -> Option<usize>
The capacity of the channel, return None for unbounded channel.
Sourcefn is_disconnected(&self) -> bool
fn is_disconnected(&self) -> bool
Return true if the other side has closed
Sourcefn get_tx_count(&self) -> usize
fn get_tx_count(&self) -> usize
Return the number of senders
Sourcefn get_rx_count(&self) -> usize
fn get_rx_count(&self) -> usize
Return the number of receivers