Trait gix_odb::Find

source ·
pub trait Find {
    // Required methods
    fn contains(&self, id: &oid) -> bool;
    fn try_find<'a>(
        &self,
        id: &oid,
        buffer: &'a mut Vec<u8>
    ) -> Result<Option<Data<'a>>, Error>;
}
Expand description

Describe how object can be located in an object store.

Notes

Find effectively needs generic associated types to allow a trait for the returned object type. Until then, we will have to make due with explicit types and give them the potentially added features we want.

Required Methods§

source

fn contains(&self, id: &oid) -> bool

Returns true if the object exists in the database.

source

fn try_find<'a>( &self, id: &oid, buffer: &'a mut Vec<u8> ) -> Result<Option<Data<'a>>, Error>

Find an object matching id in the database while placing its raw, possibly encoded data into buffer.

Returns Some object if it was present in the database, or the error that occurred during lookup or object retrieval.

Implementations on Foreign Types§

source§

impl<T> Find for &Twhere T: Find,

source§

fn contains(&self, id: &oid) -> bool

source§

fn try_find<'a>( &self, id: &oid, buffer: &'a mut Vec<u8> ) -> Result<Option<Data<'a>>, Error>

source§

impl<T> Find for Arc<T>where T: Find,

source§

fn contains(&self, id: &oid) -> bool

source§

fn try_find<'a>( &self, id: &oid, buffer: &'a mut Vec<u8> ) -> Result<Option<Data<'a>>, Error>

source§

impl<T> Find for Rc<T>where T: Find,

source§

fn contains(&self, id: &oid) -> bool

source§

fn try_find<'a>( &self, id: &oid, buffer: &'a mut Vec<u8> ) -> Result<Option<Data<'a>>, Error>

Implementors§

source§

impl<S> Find for Handle<S>where S: Deref<Target = Store> + Clone, Self: Find,

source§

impl<S> Find for Cache<S>where S: Find,