reth_storage_api/
prune_checkpoint.rs1use reth_prune_types::{PruneCheckpoint, PruneSegment};
2use reth_storage_errors::provider::ProviderResult;
3
4#[auto_impl::auto_impl(&, Arc)]
6pub trait PruneCheckpointReader: Send + Sync {
7 fn get_prune_checkpoint(
9 &self,
10 segment: PruneSegment,
11 ) -> ProviderResult<Option<PruneCheckpoint>>;
12
13 fn get_prune_checkpoints(&self) -> ProviderResult<Vec<(PruneSegment, PruneCheckpoint)>>;
15}
16
17#[auto_impl::auto_impl(&, Arc)]
19pub trait PruneCheckpointWriter: Send + Sync {
20 fn save_prune_checkpoint(
22 &self,
23 segment: PruneSegment,
24 checkpoint: PruneCheckpoint,
25 ) -> ProviderResult<()>;
26}