Skip to main content

Client

Trait Client 

Source
pub trait Client<const NONCE_SIZE: usize>: Vdaf {
    // Required method
    fn shard(
        &self,
        ctx: &[u8],
        measurement: &Self::Measurement,
        nonce: &[u8; NONCE_SIZE],
    ) -> Result<(Self::PublicShare, Vec<Self::InputShare>), VdafError>;
}
Expand description

The Client’s role in the execution of a VDAF.

Required Methods§

Source

fn shard( &self, ctx: &[u8], measurement: &Self::Measurement, nonce: &[u8; NONCE_SIZE], ) -> Result<(Self::PublicShare, Vec<Self::InputShare>), VdafError>

Shards a measurement into a public share and a sequence of input shares, one for each Aggregator.

Implements Vdaf::shard from VDAF.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Client<16> for Vdaf

Available on crate feature test-util only.
Source§

impl Client<16> for Prio2

Available on crate features crypto-dependencies and experimental only.
Source§

impl<P: Xof<SEED_SIZE>, const SEED_SIZE: usize> Client<16> for Poplar1<P, SEED_SIZE>

Available on crate features crypto-dependencies and experimental only.
Source§

impl<T, P, const SEED_SIZE: usize> Client<16> for Prio3<T, P, SEED_SIZE>
where T: Type, P: Xof<SEED_SIZE>,

Source§

impl<T: Type> Client<16> for Mastic<T>

Available on crate features crypto-dependencies and experimental only.