UnderlyingSessionTransport

Trait UnderlyingSessionTransport 

Source
pub trait UnderlyingSessionTransport {
    type Message: MessageMetadata + Send + Sync + 'static;

    // Required methods
    fn next_message<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Option<Payload<Self::Message>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_message<'life0, 'async_trait>(
        &'life0 self,
        message: Payload<Self::Message>,
    ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError<Payload<Self::Message>>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn connected_peers<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Vec<<Self::Message as MessageMetadata>::PeerId>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn local_id(&self) -> <Self::Message as MessageMetadata>::PeerId;
}

Required Associated Types§

Required Methods§

Source

fn next_message<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Option<Payload<Self::Message>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn send_message<'life0, 'async_trait>( &'life0 self, message: Payload<Self::Message>, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError<Payload<Self::Message>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn connected_peers<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Vec<<Self::Message as MessageMetadata>::PeerId>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn local_id(&self) -> <Self::Message as MessageMetadata>::PeerId

Implementors§