reth_storage_api/
prune_checkpoint.rs
1use alloc::vec::Vec;
2use reth_prune_types::{PruneCheckpoint, PruneSegment};
3use reth_storage_errors::provider::ProviderResult;
4
5#[auto_impl::auto_impl(&, Arc)]
7pub trait PruneCheckpointReader: Send + Sync {
8 fn get_prune_checkpoint(
10 &self,
11 segment: PruneSegment,
12 ) -> ProviderResult<Option<PruneCheckpoint>>;
13
14 fn get_prune_checkpoints(&self) -> ProviderResult<Vec<(PruneSegment, PruneCheckpoint)>>;
16}
17
18#[auto_impl::auto_impl(&, Arc)]
20pub trait PruneCheckpointWriter: Send + Sync {
21 fn save_prune_checkpoint(
23 &self,
24 segment: PruneSegment,
25 checkpoint: PruneCheckpoint,
26 ) -> ProviderResult<()>;
27}