pub trait BackendSession: Debug + Send {
// Required methods
fn count<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>;
fn fetch<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
name: &'q str,
for_update: bool,
) -> BoxFuture<'q, Result<Option<Entry>, Error>>;
fn fetch_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
limit: Option<i64>,
order_by: Option<OrderBy>,
descending: bool,
for_update: bool,
) -> BoxFuture<'q, Result<Vec<Entry>, Error>>;
fn remove_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>;
fn update<'q>(
&'q mut self,
kind: EntryKind,
operation: EntryOperation,
category: &'q str,
name: &'q str,
value: Option<&'q [u8]>,
tags: Option<&'q [EntryTag]>,
expiry_ms: Option<i64>,
) -> BoxFuture<'q, Result<(), Error>>;
fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>;
fn close(&mut self, commit: bool) -> BoxFuture<'_, Result<(), Error>>;
// Provided method
fn import_scan<'q>(
&'q mut self,
scan: Scan<'q, Entry>,
) -> BoxFuture<'q, Result<(), Error>> { ... }
}Expand description
Query from a generic backend implementation
Required Methods§
Sourcefn count<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>
fn count<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, ) -> BoxFuture<'q, Result<i64, Error>>
Count the number of matching records in the store
Sourcefn fetch<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
name: &'q str,
for_update: bool,
) -> BoxFuture<'q, Result<Option<Entry>, Error>>
fn fetch<'q>( &'q mut self, kind: EntryKind, category: &'q str, name: &'q str, for_update: bool, ) -> BoxFuture<'q, Result<Option<Entry>, Error>>
Fetch a single record from the store by category and name
Sourcefn fetch_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
limit: Option<i64>,
order_by: Option<OrderBy>,
descending: bool,
for_update: bool,
) -> BoxFuture<'q, Result<Vec<Entry>, Error>>
fn fetch_all<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, limit: Option<i64>, order_by: Option<OrderBy>, descending: bool, for_update: bool, ) -> BoxFuture<'q, Result<Vec<Entry>, Error>>
Fetch all matching records from the store
Sourcefn remove_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>
fn remove_all<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, ) -> BoxFuture<'q, Result<i64, Error>>
Remove all matching records from the store
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl BackendSession for AnyBackendSession
Available on crate feature
any only.