pub trait AccumulatorStore:
ObjectStore
+ Send
+ Sync {
// Required methods
fn get_object_ref_prior_to_key_deprecated(
&self,
object_id: &ObjectID,
version: VersionNumber,
) -> SuiResult<Option<ObjectRef>>;
fn get_root_state_accumulator_for_epoch(
&self,
epoch: EpochId,
) -> SuiResult<Option<(CheckpointSequenceNumber, Accumulator)>>;
fn get_root_state_accumulator_for_highest_epoch(
&self,
) -> SuiResult<Option<(EpochId, (CheckpointSequenceNumber, Accumulator))>>;
fn insert_state_accumulator_for_epoch(
&self,
epoch: EpochId,
checkpoint_seq_num: &CheckpointSequenceNumber,
acc: &Accumulator,
) -> SuiResult;
fn iter_live_object_set(
&self,
include_wrapped_tombstone: bool,
) -> Box<dyn Iterator<Item = LiveObject> + '_>;
// Provided method
fn iter_cached_live_object_set_for_testing(
&self,
include_wrapped_tombstone: bool,
) -> Box<dyn Iterator<Item = LiveObject> + '_> { ... }
}
Required Methods§
Sourcefn get_object_ref_prior_to_key_deprecated(
&self,
object_id: &ObjectID,
version: VersionNumber,
) -> SuiResult<Option<ObjectRef>>
fn get_object_ref_prior_to_key_deprecated( &self, object_id: &ObjectID, version: VersionNumber, ) -> SuiResult<Option<ObjectRef>>
This function is only called in older protocol versions, and should no longer be used. It creates an explicit dependency to tombstones which is not desired.