Trait Backend

Source
pub trait Backend {
    // Required methods
    fn batch(
        &mut self,
        mode: Mode,
        oids: &[(Oid, u64)],
    ) -> Result<Vec<BatchItem>, Error>;
    fn start_upload(
        &mut self,
        oid: &Oid,
        rdr: &mut dyn Read,
        args: &BTreeMap<Bytes, Bytes>,
    ) -> Result<Box<dyn Any>, Error>;
    fn finish_upload(&mut self, state: Box<dyn Any>) -> Result<(), Error>;
    fn verify(
        &mut self,
        oid: &Oid,
        args: &BTreeMap<Bytes, Bytes>,
    ) -> Result<Status, Error>;
    fn download(
        &mut self,
        oid: &Oid,
        args: &BTreeMap<Bytes, Bytes>,
    ) -> Result<(Box<dyn Read>, Option<u64>), Error>;
    fn lock_backend<'a>(&'a self) -> Box<dyn LockBackend + 'a>;
}

Required Methods§

Source

fn batch( &mut self, mode: Mode, oids: &[(Oid, u64)], ) -> Result<Vec<BatchItem>, Error>

Source

fn start_upload( &mut self, oid: &Oid, rdr: &mut dyn Read, args: &BTreeMap<Bytes, Bytes>, ) -> Result<Box<dyn Any>, Error>

Source

fn finish_upload(&mut self, state: Box<dyn Any>) -> Result<(), Error>

Source

fn verify( &mut self, oid: &Oid, args: &BTreeMap<Bytes, Bytes>, ) -> Result<Status, Error>

Source

fn download( &mut self, oid: &Oid, args: &BTreeMap<Bytes, Bytes>, ) -> Result<(Box<dyn Read>, Option<u64>), Error>

Source

fn lock_backend<'a>(&'a self) -> Box<dyn LockBackend + 'a>

Implementors§

Source§

impl<'a> Backend for LocalBackend<'a>