pub struct AncestryStore<S, B> { /* private fields */ }Expand description
Implementations§
Trait Implementations§
Source§impl<S: Store, B: BlobStore> Store for AncestryStore<S, B>
impl<S: Store, B: BlobStore> Store for AncestryStore<S, B>
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
) -> Pin<Box<dyn Future<Output = Result<Option<Record>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
) -> Pin<Box<dyn Future<Output = Result<Option<Record>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch a record by key, or
None if absent.Source§fn put<'life0, 'async_trait>(
&'life0 self,
record: Record,
expected: Option<Revision>,
) -> Pin<Box<dyn Future<Output = Result<PutResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn put<'life0, 'async_trait>(
&'life0 self,
record: Record,
expected: Option<Revision>,
) -> Pin<Box<dyn Future<Output = Result<PutResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Conditionally write
record. expected is the revision the caller
believes is current (None means “expect no existing record”).
If the store’s current revision differs, returns PutResult::Conflict.Source§fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 KeyPrefix,
) -> Pin<Box<dyn Future<Output = Result<Vec<RecordKey>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 KeyPrefix,
) -> Pin<Box<dyn Future<Output = Result<Vec<RecordKey>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List keys matching
prefix.Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
expected: Option<Revision>,
) -> Pin<Box<dyn Future<Output = Result<DeleteResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
expected: Option<Revision>,
) -> Pin<Box<dyn Future<Output = Result<DeleteResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Conditionally delete the record at
key. expected is the revision the
caller believes is current: None deletes unconditionally (idempotent
no-op if already absent); Some(rev) deletes only if the current revision
matches, returning DeleteResult::Conflict if a concurrent write moved it
first. Deleting an already-absent key is a no-op Deleted. Read moreAuto Trait Implementations§
impl<S, B> Freeze for AncestryStore<S, B>
impl<S, B> RefUnwindSafe for AncestryStore<S, B>where
S: RefUnwindSafe,
B: RefUnwindSafe,
impl<S, B> Send for AncestryStore<S, B>
impl<S, B> Sync for AncestryStore<S, B>
impl<S, B> Unpin for AncestryStore<S, B>
impl<S, B> UnsafeUnpin for AncestryStore<S, B>where
S: UnsafeUnpin,
B: UnsafeUnpin,
impl<S, B> UnwindSafe for AncestryStore<S, B>where
S: UnwindSafe,
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more