Skip to main content

ExecutionCacheReconfigAPI

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 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 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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§