Trait zappot::traits::ExtROTReceiver

source ·
pub trait ExtROTReceiver {
    type Msg;

    // Required methods
    fn receive_random<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, C, RNG>(
        &'life0 mut self,
        choices: &'life1 BitSlice<C>,
        rng: &'life2 mut RNG,
        sender: &'life3 Sender<Self::Msg>,
        receiver: &'life4 mut Receiver<Self::Msg>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, Error<Self::Msg>>> + Send + 'async_trait>>
       where RNG: RngCore + CryptoRng + Send + 'async_trait,
             C: Pod + BitStore + Sync + 'async_trait,
             <C as BitStore>::Unalias: Pod,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
    fn receive_correlated<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, C, RNG>(
        &'life0 mut self,
        choices: &'life1 BitSlice<C>,
        rng: &'life2 mut RNG,
        sender: &'life3 Sender<Self::Msg>,
        receiver: &'life4 mut Receiver<Self::Msg>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, Error<Self::Msg>>> + Send + 'async_trait>>
       where RNG: RngCore + CryptoRng + Send + 'async_trait,
             C: Pod + BitStore + Sync + 'async_trait,
             <C as BitStore>::Unalias: Pod,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
    fn receive_correlated_bytes<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, const LEN: usize, C, RNG>(
        &'life0 mut self,
        choices: &'life1 BitSlice<C>,
        rng: &'life2 mut RNG,
        sender: &'life3 Sender<Self::Msg>,
        receiver: &'life4 mut Receiver<Self::Msg>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<[u8; LEN]>, Error<Self::Msg>>> + Send + 'async_trait>>
       where RNG: RngCore + CryptoRng + Send + 'async_trait,
             [u8; LEN]: Pod,
             C: Pod + BitStore + Sync + 'async_trait,
             <C as BitStore>::Unalias: Pod,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
}
Expand description

OT extension receiver.

Required Associated Types§

Required Methods§

source

fn receive_random<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, C, RNG>( &'life0 mut self, choices: &'life1 BitSlice<C>, rng: &'life2 mut RNG, sender: &'life3 Sender<Self::Msg>, receiver: &'life4 mut Receiver<Self::Msg> ) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, Error<Self::Msg>>> + Send + 'async_trait>>
where RNG: RngCore + CryptoRng + Send + 'async_trait, C: Pod + BitStore + Sync + 'async_trait, <C as BitStore>::Unalias: Pod, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

source

fn receive_correlated<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, C, RNG>( &'life0 mut self, choices: &'life1 BitSlice<C>, rng: &'life2 mut RNG, sender: &'life3 Sender<Self::Msg>, receiver: &'life4 mut Receiver<Self::Msg> ) -> Pin<Box<dyn Future<Output = Result<Vec<Block>, Error<Self::Msg>>> + Send + 'async_trait>>
where RNG: RngCore + CryptoRng + Send + 'async_trait, C: Pod + BitStore + Sync + 'async_trait, <C as BitStore>::Unalias: Pod, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

source

fn receive_correlated_bytes<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, const LEN: usize, C, RNG>( &'life0 mut self, choices: &'life1 BitSlice<C>, rng: &'life2 mut RNG, sender: &'life3 Sender<Self::Msg>, receiver: &'life4 mut Receiver<Self::Msg> ) -> Pin<Box<dyn Future<Output = Result<Vec<[u8; LEN]>, Error<Self::Msg>>> + Send + 'async_trait>>
where RNG: RngCore + CryptoRng + Send + 'async_trait, [u8; LEN]: Pod, C: Pod + BitStore + Sync + 'async_trait, <C as BitStore>::Unalias: Pod, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<BaseOT> ExtROTReceiver for Receiver<BaseOT>
where BaseOT: BaseROTSender + Send, BaseOT::Msg: RemoteSend + Debug,

§

type Msg = ExtOTMsg<<BaseOT as BaseROTSender>::Msg>