1 2 3 4 5 6 7 8 9 10 11 12 13
use async_trait::async_trait;
use cyfs_base::*;
use cyfs_util::AsyncReadWithSeek;
#[async_trait]
pub trait ChunkReader: 'static + Send + Sync {
fn clone_as_reader(&self) -> Box<dyn ChunkReader>;
async fn exists(&self, chunk: &ChunkId) -> bool;
async fn get(&self, chunk: &ChunkId) -> BuckyResult<Box<dyn AsyncReadWithSeek + Unpin + Send + Sync>>;
}