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§
Sourcefn shard(
&self,
ctx: &[u8],
measurement: &Self::Measurement,
nonce: &[u8; NONCE_SIZE],
) -> Result<(Self::PublicShare, Vec<Self::InputShare>), VdafError>
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§
impl Client<16> for Vdaf
Available on crate feature
test-util only.impl Client<16> for Prio2
Available on crate features
crypto-dependencies and experimental only.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.impl<T, P, const SEED_SIZE: usize> Client<16> for Prio3<T, P, SEED_SIZE>
impl<T: Type> Client<16> for Mastic<T>
Available on crate features
crypto-dependencies and experimental only.