Trait BlockStorage

Source
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§

Source

fn get(&self, overlay: &OverlayId, id: &BlockId) -> Result<Block, StorageError>

Load a block from the storage.

Source

fn put( &self, overlay: &OverlayId, block: &Block, lazy: bool, ) -> Result<BlockId, StorageError>

Save a block to the storage.

Source

fn del(&self, overlay: &OverlayId, id: &BlockId) -> Result<usize, StorageError>

Delete a block from the storage.

Source

fn len(&self) -> Result<usize, StorageError>

number of Blocks in the storage

Source

fn has(&self, overlay: &OverlayId, id: &BlockId) -> Result<(), StorageError>

Implementors§