sui_core::execution_cache

Trait ExecutionCacheReconfigAPI

Source
pub trait ExecutionCacheReconfigAPI: Send + Sync {
    // Required methods
    fn insert_genesis_object(&self, object: Object);
    fn bulk_insert_genesis_objects(&self, objects: &[Object]);
    fn revert_state_update(&self, digest: &TransactionDigest);
    fn set_epoch_start_configuration(
        &self,
        epoch_start_config: &EpochStartConfiguration,
    );
    fn update_epoch_flags_metrics(&self, old: &[EpochFlag], new: &[EpochFlag]);
    fn clear_state_end_of_epoch(
        &self,
        execution_guard: &RwLockWriteGuard<'_, EpochId>,
    );
    fn expensive_check_sui_conservation(
        &self,
        old_epoch_store: &AuthorityPerEpochStore,
    ) -> SuiResult;
    fn checkpoint_db(&self, path: &Path) -> SuiResult;
    fn maybe_reaccumulate_state_hash(
        &self,
        cur_epoch_store: &AuthorityPerEpochStore,
        new_protocol_version: ProtocolVersion,
    );
    fn reconfigure_cache<'a>(
        &'a self,
        epoch_start_config: &'a EpochStartConfiguration,
    ) -> BoxFuture<'a, ()>;
}

Required Methods§

Source

fn insert_genesis_object(&self, object: Object)

Source

fn bulk_insert_genesis_objects(&self, objects: &[Object])

Source

fn revert_state_update(&self, digest: &TransactionDigest)

Source

fn set_epoch_start_configuration( &self, epoch_start_config: &EpochStartConfiguration, )

Source

fn update_epoch_flags_metrics(&self, old: &[EpochFlag], new: &[EpochFlag])

Source

fn clear_state_end_of_epoch( &self, execution_guard: &RwLockWriteGuard<'_, EpochId>, )

Source

fn expensive_check_sui_conservation( &self, old_epoch_store: &AuthorityPerEpochStore, ) -> SuiResult

Source

fn checkpoint_db(&self, path: &Path) -> SuiResult

Source

fn maybe_reaccumulate_state_hash( &self, cur_epoch_store: &AuthorityPerEpochStore, new_protocol_version: ProtocolVersion, )

This is a temporary method to be used when we enable simplified_unwrap_then_delete. It re-accumulates state hash for the new epoch if simplified_unwrap_then_delete is enabled.

Source

fn reconfigure_cache<'a>( &'a self, epoch_start_config: &'a EpochStartConfiguration, ) -> BoxFuture<'a, ()>

Reconfigure the cache itself. TODO: this is only needed for ProxyCache to switch between cache impls. It can be removed once WritebackCache is the sole cache impl.

Implementors§