PersyReader

Trait PersyReader 

Source
pub trait PersyReader: Clone + Sized {
    // Required methods
    fn list_segments(&self) -> EIRes<Vec<(String, SegmentId)>>;
    fn list_indexes(&self) -> EIRes<Vec<(String, IndexInfo)>>;
    fn scan(
        &self,
        segment: &str,
    ) -> EIRes<Box<dyn Iterator<Item = (PersyId, Vec<u8>)>>>;
    fn range<K, V, R>(
        &self,
        index_name: &str,
        range: R,
    ) -> EIRes<Box<dyn Iterator<Item = (K, ValueIter<V>)>>>
       where K: IndexType + 'static,
             V: IndexType + 'static,
             R: RangeBounds<K>;
}

Required Methods§

Source

fn list_segments(&self) -> EIRes<Vec<(String, SegmentId)>>

Source

fn list_indexes(&self) -> EIRes<Vec<(String, IndexInfo)>>

Source

fn scan( &self, segment: &str, ) -> EIRes<Box<dyn Iterator<Item = (PersyId, Vec<u8>)>>>

Source

fn range<K, V, R>( &self, index_name: &str, range: R, ) -> EIRes<Box<dyn Iterator<Item = (K, ValueIter<V>)>>>
where K: IndexType + 'static, V: IndexType + 'static, R: RangeBounds<K>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl PersyReader for Snapshot

Source§

fn list_segments(&self) -> EIRes<Vec<(String, SegmentId)>>

Source§

fn list_indexes(&self) -> EIRes<Vec<(String, IndexInfo)>>

Source§

fn scan( &self, segment: &str, ) -> EIRes<Box<dyn Iterator<Item = (PersyId, Vec<u8>)>>>

Source§

fn range<K, V, R>( &self, index_name: &str, range: R, ) -> EIRes<Box<dyn Iterator<Item = (K, ValueIter<V>)>>>
where K: IndexType + 'static, V: IndexType + 'static, R: RangeBounds<K>,

Source§

impl PersyReader for Persy

Source§

fn list_segments(&self) -> EIRes<Vec<(String, SegmentId)>>

Source§

fn list_indexes(&self) -> EIRes<Vec<(String, IndexInfo)>>

Source§

fn scan( &self, segment: &str, ) -> EIRes<Box<dyn Iterator<Item = (PersyId, Vec<u8>)>>>

Source§

fn range<K, V, R>( &self, index_name: &str, range: R, ) -> EIRes<Box<dyn Iterator<Item = (K, ValueIter<V>)>>>
where K: IndexType + 'static, V: IndexType + 'static, R: RangeBounds<K>,

Implementors§