Struct mz_persist::sqlite::SqliteConsensus
source · [−]pub struct SqliteConsensus {
conn: Arc<Mutex<Connection>>,
}
Expand description
Implementation of Consensus over a sqlite database.
Fields
conn: Arc<Mutex<Connection>>
Implementations
Trait Implementations
sourceimpl Consensus for SqliteConsensus
impl Consensus for SqliteConsensus
sourcefn head<'life0, 'life1, 'async_trait>(
&'life0 self,
_deadline: Instant,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<VersionedData>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn head<'life0, 'life1, 'async_trait>(
&'life0 self,
_deadline: Instant,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<VersionedData>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns a recent version of data
, and the corresponding sequence number, if
one exists at this location. Read more
sourcefn compare_and_set<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: Instant,
key: &'life1 str,
expected: Option<SeqNo>,
new: VersionedData
) -> Pin<Box<dyn Future<Output = Result<Result<(), Option<VersionedData>>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn compare_and_set<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: Instant,
key: &'life1 str,
expected: Option<SeqNo>,
new: VersionedData
) -> Pin<Box<dyn Future<Output = Result<Result<(), Option<VersionedData>>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Update the VersionedData stored at this location to new
, iff the current
sequence number is exactly expected
and new
’s sequence number > the current
sequence number. Read more
sourcefn scan<'life0, 'life1, 'async_trait>(
&'life0 self,
_deadline: Instant,
key: &'life1 str,
from: SeqNo
) -> Pin<Box<dyn Future<Output = Result<Vec<VersionedData>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn scan<'life0, 'life1, 'async_trait>(
&'life0 self,
_deadline: Instant,
key: &'life1 str,
from: SeqNo
) -> Pin<Box<dyn Future<Output = Result<Vec<VersionedData>, ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Return all versions of data stored for this key
at sequence numbers
>= from
, in ascending order of sequence number. Read more
sourcefn truncate<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: Instant,
key: &'life1 str,
seqno: SeqNo
) -> Pin<Box<dyn Future<Output = Result<(), ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn truncate<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: Instant,
key: &'life1 str,
seqno: SeqNo
) -> Pin<Box<dyn Future<Output = Result<(), ExternalError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Deletes all historical versions of the data stored at key
that are < seqno
,
iff seqno
<= the current sequence number. Read more
Auto Trait Implementations
impl RefUnwindSafe for SqliteConsensus
impl Send for SqliteConsensus
impl Sync for SqliteConsensus
impl Unpin for SqliteConsensus
impl UnwindSafe for SqliteConsensus
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more