StreamingBlockStore

Trait StreamingBlockStore 

Source
pub trait StreamingBlockStore: BlockStore {
    // Provided methods
    fn get_range<'life0, 'life1, 'async_trait>(
        &'life0 self,
        cid: &'life1 Cid,
        range: ByteRange,
    ) -> Pin<Box<dyn Future<Output = Result<Option<PartialBlock>>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn reader<'life0, 'life1, 'async_trait>(
        &'life0 self,
        cid: &'life1 Cid,
    ) -> Pin<Box<dyn Future<Output = Result<Option<BlockReader>>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn get_size<'life0, 'life1, 'async_trait>(
        &'life0 self,
        cid: &'life1 Cid,
    ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
}
Expand description

Extension trait for block stores with streaming capabilities

Provided Methods§

Source

fn get_range<'life0, 'life1, 'async_trait>( &'life0 self, cid: &'life1 Cid, range: ByteRange, ) -> Pin<Box<dyn Future<Output = Result<Option<PartialBlock>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Read a partial block (range-based)

This allows efficient access to portions of large blocks without loading the entire block into memory.

Source

fn reader<'life0, 'life1, 'async_trait>( &'life0 self, cid: &'life1 Cid, ) -> Pin<Box<dyn Future<Output = Result<Option<BlockReader>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Create an async reader for a block

Source

fn get_size<'life0, 'life1, 'async_trait>( &'life0 self, cid: &'life1 Cid, ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get the size of a block without reading its contents

Implementors§