Trait laminarmq_io::object_storage::BlockMap

source ·
pub trait BlockMap {
    // Required methods
    fn position_block_containing_offset(&self, offset: usize) -> Option<usize>;
    fn get_block_at_idx(&self, block_idx: usize) -> Option<Block>;
    fn append_block_with_block_size(&mut self, block_size: usize) -> Block;
    fn len(&self) -> usize;
    fn truncate(&mut self, offset: usize) -> Option<(usize, usize, Block)>;
    fn clear(&mut self);

    // Provided methods
    fn get_block_containing_offset(&self, offset: usize) -> Option<Block> { ... }
    fn is_empty(&self) -> bool { ... }
    fn size(&self) -> usize { ... }
}

Required Methods§

source

fn position_block_containing_offset(&self, offset: usize) -> Option<usize>

source

fn get_block_at_idx(&self, block_idx: usize) -> Option<Block>

source

fn append_block_with_block_size(&mut self, block_size: usize) -> Block

source

fn len(&self) -> usize

source

fn truncate(&mut self, offset: usize) -> Option<(usize, usize, Block)>

source

fn clear(&mut self)

Provided Methods§

Implementations on Foreign Types§

source§

impl BlockMap for Vec<Block>

source§

fn position_block_containing_offset(&self, offset: usize) -> Option<usize>

source§

fn get_block_at_idx(&self, block_idx: usize) -> Option<Block>

source§

fn append_block_with_block_size(&mut self, block_size: usize) -> Block

source§

fn len(&self) -> usize

source§

fn truncate(&mut self, offset: usize) -> Option<(usize, usize, Block)>

source§

fn clear(&mut self)

Implementors§