[][src]Trait xaynet_server::services::fetchers::Fetcher

pub trait Fetcher {
#[must_use]    fn round_params<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<RoundParamsResponse, FetchError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn mask_length<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<MaskLengthResponse, FetchError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn model<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, FetchError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn seed_dict<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<SeedDictResponse, FetchError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn sum_dict<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<SumDictResponse, FetchError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }

A single interface for retrieving data from the coordinator.

Required methods

#[must_use]fn round_params<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<RoundParamsResponse, FetchError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the parameters for the current round

#[must_use]fn mask_length<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<MaskLengthResponse, FetchError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the mask length for the current round. The sum participants need this value during the sum2 phase to derive masks from the update participant's masking seeds.

#[must_use]fn model<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, FetchError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the latest global model.

#[must_use]fn seed_dict<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<SeedDictResponse, FetchError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the global seed dictionary. Each sum2 participant needs a different portion of that dictionary.

#[must_use]fn sum_dict<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<SumDictResponse, FetchError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the sum dictionary. The update participants need this dictionary to encrypt their masking seed for each sum participant.

Loading content...

Implementors

impl<RoundParams, SumDict, SeedDict, MaskLength, Model> Fetcher for Fetchers<RoundParams, SumDict, SeedDict, MaskLength, Model> where
    Self: Send + Sync + 'static,
    RoundParams: Service<RoundParamsRequest, Response = RoundParamsResponse> + Send + 'static,
    <RoundParams as Service<RoundParamsRequest>>::Future: Send + Sync + 'static,
    <RoundParams as Service<RoundParamsRequest>>::Error: Into<Box<dyn Error + Sync + Send + 'static>>,
    MaskLength: Service<MaskLengthRequest, Response = MaskLengthResponse> + Send + 'static,
    <MaskLength as Service<MaskLengthRequest>>::Future: Send + Sync + 'static,
    <MaskLength as Service<MaskLengthRequest>>::Error: Into<Box<dyn Error + Sync + Send + 'static>>,
    Model: Service<ModelRequest, Response = ModelResponse> + Send + 'static,
    <Model as Service<ModelRequest>>::Future: Send + Sync + 'static,
    <Model as Service<ModelRequest>>::Error: Into<Box<dyn Error + Sync + Send + 'static>>,
    SeedDict: Service<SeedDictRequest, Response = SeedDictResponse> + Send + 'static,
    <SeedDict as Service<SeedDictRequest>>::Future: Send + Sync + 'static,
    <SeedDict as Service<SeedDictRequest>>::Error: Into<Box<dyn Error + Sync + Send + 'static>>,
    SumDict: Service<SumDictRequest, Response = SumDictResponse> + Send + 'static,
    <SumDict as Service<SumDictRequest>>::Future: Send + Sync + 'static,
    <SumDict as Service<SumDictRequest>>::Error: Into<Box<dyn Error + Sync + Send + 'static>>, 
[src]

Loading content...