pub fn batch_finalize<'a, II: 'a + Iterator<Item = &'a [u8]> + ExactSizeIterator, IC, IM>(
        inputs: II,
        clients: &'a IC,
        messages: &'a IM,
        proof: &Proof<CS>,
        pk: <CS::Group as Group>::Elem,
        info: Option<&'a [u8]>,
    ) -> Result<PoprfClientBatchFinalizeResult<'a, CS, II, IC, IM>>
    where
        CS: 'a,
        &'a IC: 'a + IntoIterator<Item = &'a PoprfClient<CS>>,
        <&'a IC as IntoIterator>::IntoIter: ExactSizeIterator,
        &'a IM: 'a + IntoIterator<Item = &'a EvaluationElement<CS>>,
        <&'a IM as IntoIterator>::IntoIter: ExactSizeIterator,
    {
        let unblinded_elements = poprf_unblind(clients, messages, pk, proof, info)?;

        finalize_after_unblind::<'a, CS, _, _>(unblinded_elements, inputs, info)
    }
/// Allows for batching of the finalization of multiple [PoprfClient]
/// and [EvaluationElement] pairs
///
/// # Errors
/// - [`Error::Info`] if the `info` is longer than `u16::MAX`.
/// - [`Error::Protocol`] if the protocol fails and can't be completed.
/// - [`Error::Batch`] if the number of `inputs`, `clients` and `messages`
///   don't match or is longer than [`u16::MAX`].
/// - [`Error::ProofVerification`] if the `proof` failed to verify.
///
/// The resulting messages can each fail individually with [`Error::Input`]
/// if the `input` is empty or longer than [`u16::MAX`].
Allows for batching of the finalization of multiple [PoprfClient]
and [EvaluationElement] pairs
Allows for batching of the finalization of multiple [ PoprfClient ] and [ EvaluationElement ] pairs
pub fn batch_finalize<'a, II: 'a + Iterator<Item = &'a [u8]> + ExactSizeIterator, IC, IM>(
        inputs: II,
        clients: &'a IC,
        messages: &'a IM,
        proof: &Proof<CS>,
        pk: <CS::Group as Group>::Elem,
        info: Option<&'a [u8]>,
    ) -> Result<PoprfClientBatchFinalizeResult<'a, CS, II, IC, IM>>
    where
        CS: 'a,
        &'a IC: 'a + IntoIterator<Item = &'a PoprfClient<CS>>,
        <&'a IC as IntoIterator>::IntoIter: ExactSizeIterator,
        &'a IM: 'a + IntoIterator<Item = &'a EvaluationElement<CS>>,
        <&'a IM as IntoIterator>::IntoIter: ExactSizeIterator,
    {
        let unblinded_elements = poprf_unblind(clients, messages, pk, proof, info)?;
        finalize_after_unblind::<'a, CS, _, _>(unblinded_elements, inputs, info)
    }
pub fn batch_finalize < ' a , II : ' a + Iterator < Item = & ' a [ u8 ] > + ExactSizeIterator , IC , IM > ( inputs : II , clients : & ' a IC , messages : & ' a IM , proof : & Proof < CS > , pk : < CS :: Group as Group > :: Elem , info : Option < & ' a [ u8 ] > , ) -> Result < PoprfClientBatchFinalizeResult < ' a , CS , II , IC , IM > > where CS : ' a , & ' a IC : ' a + IntoIterator < Item = & ' a PoprfClient < CS > > , < & ' a IC as IntoIterator > :: IntoIter : ExactSizeIterator , & ' a IM : ' a + IntoIterator < Item = & ' a EvaluationElement < CS > > , < & ' a IM as IntoIterator > :: IntoIter : ExactSizeIterator , { let unblinded_elements = poprf_unblind ( clients , messages , pk , proof , info ) ? ; finalize_after_unblind :: < ' a , CS , _ , _ > ( unblinded_elements , inputs , info ) }
Allows for batching of the finalization of multiple [PoprfClient]
and [EvaluationElement] pairs
Allows for batching of the finalization of multiple [ PoprfClient ] and [ EvaluationElement ] pairs
inputs
II
clients
&'a IC
messages
&'a IM
proof
&Proof<CS>
pk
<CS::Group as Group>::Elem
info
Option<&'a [u8]>
inputs
II
clients
&'a IC
messages
&'a IM
proof
&Proof<CS>
pk
<CS::Group as Group>::Elem
info
Option<&'a [u8]>
errors
[`Error::Info`] if the `info` is longer than `u16::MAX`.
[`Error::Protocol`] if the protocol fails and can't be completed.
[`Error::Batch`] if the number of `inputs`, `clients` and `messages`
don't match or is longer than [`u16::MAX`].
[`Error::ProofVerification`] if the `proof` failed to verify.

The resulting messages can each fail individually with [`Error::Input`]
if the `input` is empty or longer than [`u16::MAX`].
[ ` Error :: Info ` ] if the ` info ` is longer than ` u16 :: MAX ` . [ ` Error :: Protocol ` ] if the protocol fails and can ' t be completed . [ ` Error :: Batch ` ] if the number of ` inputs ` ` clients ` and ` messages ` don ' t match or is longer than [ ` u16 :: MAX ` ] . [ ` Error :: ProofVerification ` ] if the ` proof ` failed to verify . The resulting messages can each fail individually with [ ` Error :: Input ` ] if the ` input ` is empty or longer than [ ` u16 :: MAX ` ] .