1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use libipld::Cid;

use crate::{Block, Channel};

use super::{BlockPut, BlockRm, BlockRmError};

pub mod flatfs;
pub mod memory;

pub(crate) enum RepoBlockCommand {
    Contains {
        cid: Cid,
        response: Channel<bool>,
    },
    Get {
        cid: Cid,
        response: Channel<Option<Block>>,
    },
    PutBlock {
        block: Block,
        response: Channel<(Cid, BlockPut)>,
    },
    Remove {
        cid: Cid,
        response: Channel<Result<BlockRm, BlockRmError>>,
    },
    List {
        response: Channel<Vec<Cid>>,
    },
    Wipe {
        response: Channel<()>,
    },
}