Trait exocore_chain::chain::ChainStore[][src]

pub trait ChainStore: Send + Sync + 'static {
    fn segments(&self) -> Segments;
fn write_block<B: Block>(&mut self, block: &B) -> Result<BlockOffset, Error>;
fn blocks_iter(
        &self,
        from_offset: BlockOffset
    ) -> Box<dyn Iterator<Item = Result<DataBlock<ChainData>, Error>> + '_>;
fn blocks_iter_reverse(
        &self,
        from_next_offset: BlockOffset
    ) -> Box<dyn Iterator<Item = Result<DataBlock<ChainData>, Error>> + '_>;
fn get_block(
        &self,
        offset: BlockOffset
    ) -> Result<DataBlock<ChainData>, Error>;
fn get_block_from_next_offset(
        &self,
        next_offset: BlockOffset
    ) -> Result<DataBlock<ChainData>, Error>;
fn get_last_block(&self) -> Result<Option<DataBlock<ChainData>>, Error>;
fn get_block_by_operation_id(
        &self,
        operation_id: OperationId
    ) -> Result<Option<DataBlock<ChainData>>, Error>;
fn truncate_from_offset(&mut self, offset: BlockOffset) -> Result<(), Error>; }

Persistence for the chain

Required methods

fn segments(&self) -> Segments[src]

fn write_block<B: Block>(&mut self, block: &B) -> Result<BlockOffset, Error>[src]

fn blocks_iter(
    &self,
    from_offset: BlockOffset
) -> Box<dyn Iterator<Item = Result<DataBlock<ChainData>, Error>> + '_>
[src]

fn blocks_iter_reverse(
    &self,
    from_next_offset: BlockOffset
) -> Box<dyn Iterator<Item = Result<DataBlock<ChainData>, Error>> + '_>
[src]

fn get_block(&self, offset: BlockOffset) -> Result<DataBlock<ChainData>, Error>[src]

fn get_block_from_next_offset(
    &self,
    next_offset: BlockOffset
) -> Result<DataBlock<ChainData>, Error>
[src]

fn get_last_block(&self) -> Result<Option<DataBlock<ChainData>>, Error>[src]

fn get_block_by_operation_id(
    &self,
    operation_id: OperationId
) -> Result<Option<DataBlock<ChainData>>, Error>
[src]

fn truncate_from_offset(&mut self, offset: BlockOffset) -> Result<(), Error>[src]

Loading content...

Implementors

impl ChainStore for DirectoryChainStore[src]

Loading content...