Trait zappot::traits::ExtROTSender

source ·
pub trait ExtROTSender {
    type Msg;

    // Required methods
    fn send_random<'life0, 'life1, 'life2, 'life3, 'async_trait, RNG>(
        &'life0 mut self,
        count: usize,
        rng: &'life1 mut RNG,
        sender: &'life2 Sender<Self::Msg>,
        receiver: &'life3 mut Receiver<Self::Msg>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<[Block; 2]>, Error<Self::Msg>>> + Send + 'async_trait>>
       where RNG: RngCore + CryptoRng + Send + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn send_correlated<'life0, 'life1, 'life2, 'life3, 'async_trait, RNG>(
        &'life0 mut self,
        count: usize,
        correlation: impl 'async_trait + Fn(usize, Block) -> Block + Send,
        rng: &'life1 mut RNG,
        sender: &'life2 Sender<Self::Msg>,
        receiver: &'life3 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,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn send_correlated_bytes<'life0, 'life1, 'life2, 'life3, 'async_trait, const LEN: usize, RNG>(
        &'life0 mut self,
        count: usize,
        correlation: impl 'async_trait + Fn(usize, [u8; LEN]) -> [u8; LEN] + Send,
        rng: &'life1 mut RNG,
        sender: &'life2 Sender<Self::Msg>,
        receiver: &'life3 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,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
}
Expand description

OT extension sender.

Required Associated Types§

Required Methods§

source

fn send_random<'life0, 'life1, 'life2, 'life3, 'async_trait, RNG>( &'life0 mut self, count: usize, rng: &'life1 mut RNG, sender: &'life2 Sender<Self::Msg>, receiver: &'life3 mut Receiver<Self::Msg> ) -> Pin<Box<dyn Future<Output = Result<Vec<[Block; 2]>, Error<Self::Msg>>> + Send + 'async_trait>>
where RNG: RngCore + CryptoRng + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn send_correlated<'life0, 'life1, 'life2, 'life3, 'async_trait, RNG>( &'life0 mut self, count: usize, correlation: impl 'async_trait + Fn(usize, Block) -> Block + Send, rng: &'life1 mut RNG, sender: &'life2 Sender<Self::Msg>, receiver: &'life3 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, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn send_correlated_bytes<'life0, 'life1, 'life2, 'life3, 'async_trait, const LEN: usize, RNG>( &'life0 mut self, count: usize, correlation: impl 'async_trait + Fn(usize, [u8; LEN]) -> [u8; LEN] + Send, rng: &'life1 mut RNG, sender: &'life2 Sender<Self::Msg>, receiver: &'life3 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, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<BaseOT> ExtROTSender for Sender<BaseOT>
where BaseOT: BaseROTReceiver + Send, BaseOT::Msg: RemoteSend + Debug,

§

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