pub async fn async_send<M: ChannelMessage>(
        &mut self,
        message: M,
    ) -> Result<(), MessageChannelsDisconnected> {
        self.try_async_send(message).await.map_err(|e| match e {
            TryAsyncMessageError::Unregistered(e) => panic!("{}", e),
            TryAsyncMessageError::Disconnected(e) => e,
        })
    }
/// Any async version of `MessageChannels::send`, sends the given message on the channel
/// associated with its message type but waits if the channel is full.  Like
/// `MessageChannels::send`, `MessageChannels::flush` must still be called afterwards in order
/// to ensure delivery.
///
/// This method is cancel safe, it will never partially send a message, though canceling it may
/// or may not buffer a message to be sent.
///
/// # Panics
/// Panics if this message type is not registered.
Any async version of `MessageChannels::send`, sends the given message on the channel
associated with its message type but waits if the channel is full.  Like
`MessageChannels::send`, `MessageChannels::flush` must still be called afterwards in order
to ensure delivery.

This method is cancel safe, it will never partially send a message, though canceling it may
or may not buffer a message to be sent.
Any async version of ` MessageChannels :: send ` sends the given message on the channel associated with its message type but waits if the channel is full . Like ` MessageChannels :: send ` ` MessageChannels :: flush ` must still be called afterwards in order to ensure delivery . This method is cancel safe it will never partially send a message though canceling it may or may not buffer a message to be sent .
pub async fn async_send<M: ChannelMessage>(
        &mut self,
        message: M,
    ) -> Result<(), MessageChannelsDisconnected> {
        self.try_async_send(message).await.map_err(|e| match e {
            TryAsyncMessageError::Unregistered(e) => panic!("{}", e),
            TryAsyncMessageError::Disconnected(e) => e,
        })
    }
pub async fn async_send < M : ChannelMessage > ( & mut self , message : M , ) -> Result < ( ) , MessageChannelsDisconnected > { self . try_async_send ( message ) . await . map_err ( | e | match e { TryAsyncMessageError :: Unregistered ( e ) => panic ! ( " " e ) , TryAsyncMessageError :: Disconnected ( e ) => e , } ) }
Any async version of `MessageChannels::send`, sends the given message on the channel
associated with its message type but waits if the channel is full.
Any async version of ` MessageChannels :: send ` sends the given message on the channel associated with its message type but waits if the channel is full .
&mut self
message
M
&mut self
message
M
panics
Panics if this message type is not registered.
Panics if this message type is not registered .