pub trait EpochStateStore: Send + Sync {
// Required methods
fn load_epoch_meta(
&self,
) -> Result<HashMap<SplitLabel, PersistedSplitMeta>, SamplerError>;
fn load_epoch_hashes(
&self,
label: SplitLabel,
) -> Result<Option<PersistedSplitHashes>, SamplerError>;
fn save_epoch_meta(
&self,
meta: &HashMap<SplitLabel, PersistedSplitMeta>,
) -> Result<(), SamplerError>;
fn save_epoch_hashes(
&self,
label: SplitLabel,
hashes: &PersistedSplitHashes,
) -> Result<(), SamplerError>;
}Expand description
Persistence backend for epoch metadata and epoch hash orderings.
Required Methods§
Sourcefn load_epoch_meta(
&self,
) -> Result<HashMap<SplitLabel, PersistedSplitMeta>, SamplerError>
fn load_epoch_meta( &self, ) -> Result<HashMap<SplitLabel, PersistedSplitMeta>, SamplerError>
Load split→epoch metadata map.
Sourcefn load_epoch_hashes(
&self,
label: SplitLabel,
) -> Result<Option<PersistedSplitHashes>, SamplerError>
fn load_epoch_hashes( &self, label: SplitLabel, ) -> Result<Option<PersistedSplitHashes>, SamplerError>
Load persisted epoch hashes for one split, if available.
Sourcefn save_epoch_meta(
&self,
meta: &HashMap<SplitLabel, PersistedSplitMeta>,
) -> Result<(), SamplerError>
fn save_epoch_meta( &self, meta: &HashMap<SplitLabel, PersistedSplitMeta>, ) -> Result<(), SamplerError>
Persist split→epoch metadata map.
Sourcefn save_epoch_hashes(
&self,
label: SplitLabel,
hashes: &PersistedSplitHashes,
) -> Result<(), SamplerError>
fn save_epoch_hashes( &self, label: SplitLabel, hashes: &PersistedSplitHashes, ) -> Result<(), SamplerError>
Persist epoch hash list for one split.