pub trait ObjectStore {
// Required methods
fn get_object(&self, object_id: &ObjectID) -> Option<Object>;
fn get_object_by_key(
&self,
object_id: &ObjectID,
version: VersionNumber,
) -> Option<Object>;
// Provided methods
fn load_implicitly_read_system_object(
&self,
object_id: &ObjectID,
version: ConsensusObjectVersion,
) -> Option<Object> { ... }
fn multi_get_objects(&self, object_ids: &[ObjectID]) -> Vec<Option<Object>> { ... }
fn multi_get_objects_by_key(
&self,
object_keys: &[ObjectKey],
) -> Vec<Option<Object>> { ... }
}Required Methods§
fn get_object(&self, object_id: &ObjectID) -> Option<Object>
fn get_object_by_key( &self, object_id: &ObjectID, version: VersionNumber, ) -> Option<Object>
Provided Methods§
Sourcefn load_implicitly_read_system_object(
&self,
object_id: &ObjectID,
version: ConsensusObjectVersion,
) -> Option<Object>
fn load_implicitly_read_system_object( &self, object_id: &ObjectID, version: ConsensusObjectVersion, ) -> Option<Object>
Load an implicitly read system object at the given version. Returns None if the store no longer has that version. Below is the default implementation that works for all the store except the main store, which is implemented in the writeback cache.