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§
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
Sourcefn maybe_reaccumulate_state_hash(
&self,
cur_epoch_store: &AuthorityPerEpochStore,
new_protocol_version: ProtocolVersion,
)
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.
Sourcefn reconfigure_cache<'a>(
&'a self,
epoch_start_config: &'a EpochStartConfiguration,
) -> BoxFuture<'a, ()>
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".