Skip to main content

RecipientSource

Trait RecipientSource 

Source
pub trait RecipientSource<R: Request, K: SignatureKey + 'static>:
    Send
    + Sync
    + 'static {
    // Required method
    fn get_expected_responders<'life0, 'life1, 'async_trait>(
        &'life0 self,
        request: &'life1 R,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<K>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

A trait that allows the [RequestResponseProtocol] to get the recipients that a specific message should expect responses from. In HotShot this would go on top of the [Membership] trait and determine which nodes are able (quorum/DA) to respond to which requests

Required Methods§

Source

fn get_expected_responders<'life0, 'life1, 'async_trait>( &'life0 self, request: &'life1 R, ) -> Pin<Box<dyn Future<Output = Result<Vec<K>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get all the recipients that the specific request should expect responses from

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§