pub trait BlockStorage: Send + Sync {
// Required methods
fn get(
&self,
overlay: &OverlayId,
id: &BlockId,
) -> Result<Block, StorageError>;
fn put(
&self,
overlay: &OverlayId,
block: &Block,
lazy: bool,
) -> Result<BlockId, StorageError>;
fn del(
&self,
overlay: &OverlayId,
id: &BlockId,
) -> Result<usize, StorageError>;
fn len(&self) -> Result<usize, StorageError>;
fn has(&self, overlay: &OverlayId, id: &BlockId) -> Result<(), StorageError>;
}
Required Methods§
Sourcefn get(&self, overlay: &OverlayId, id: &BlockId) -> Result<Block, StorageError>
fn get(&self, overlay: &OverlayId, id: &BlockId) -> Result<Block, StorageError>
Load a block from the storage.
Sourcefn put(
&self,
overlay: &OverlayId,
block: &Block,
lazy: bool,
) -> Result<BlockId, StorageError>
fn put( &self, overlay: &OverlayId, block: &Block, lazy: bool, ) -> Result<BlockId, StorageError>
Save a block to the storage.
Sourcefn del(&self, overlay: &OverlayId, id: &BlockId) -> Result<usize, StorageError>
fn del(&self, overlay: &OverlayId, id: &BlockId) -> Result<usize, StorageError>
Delete a block from the storage.
Sourcefn len(&self) -> Result<usize, StorageError>
fn len(&self) -> Result<usize, StorageError>
number of Blocks in the storage