pub trait Party {
    type Input: Send;
    type Output: Debug + Send;

    fn run(
        &mut self,
        id: usize,
        n_parties: usize,
        input: &Self::Input,
        channels: &mut Channels,
        timings: &mut Timings
    ) -> Self::Output; fn get_name(&self, id: usize) -> String { ... } }
Expand description

A Party that takes part in a protocol. The party will receive a unique id when it is running the protocol, as well as communication channels to and from all the other parties. A party keeps track of its own stats.

Required Associated Types

The input type of this party. It must be the same for all parties in a given protocol (but it could be e.g. an enum or Option).

The output type of this party. It must be the same for all parties in a given protocol (but it could be e.g. an enum or Option)

Required Methods

Runs the code for this party in the given protocol. The id starts from 0.

Provided Methods

Gets the name of this party. By default, this is ‘Party {id}’.

Implementors