pub struct FileLogStore<C: RaftTypeConfig> { /* private fields */ }Expand description
File-backed log store with in-memory cache.
Implementations§
Source§impl<C> FileLogStore<C>
impl<C> FileLogStore<C>
Trait Implementations§
Source§impl<C: Clone + RaftTypeConfig> Clone for FileLogStore<C>
impl<C: Clone + RaftTypeConfig> Clone for FileLogStore<C>
Source§fn clone(&self) -> FileLogStore<C>
fn clone(&self) -> FileLogStore<C>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<C> RaftLogStorage<C> for FileLogStore<C>
impl<C> RaftLogStorage<C> for FileLogStore<C>
Source§type LogReader = FileLogReader<C>
type LogReader = FileLogReader<C>
Log reader type. Read more
Source§async fn get_log_state(&mut self) -> Result<LogState<C>, Error>
async fn get_log_state(&mut self) -> Result<LogState<C>, Error>
Returns the last deleted log id and the last log id. Read more
Source§async fn get_log_reader(&mut self) -> Self::LogReader
async fn get_log_reader(&mut self) -> Self::LogReader
Get the log reader. Read more
Source§async fn save_vote(&mut self, vote: &C::Vote) -> Result<(), Error>
async fn save_vote(&mut self, vote: &C::Vote) -> Result<(), Error>
Save vote to storage. Read more
Source§async fn append<I>(
&mut self,
entries: I,
callback: IOFlushed<C>,
) -> Result<(), Error>
async fn append<I>( &mut self, entries: I, callback: IOFlushed<C>, ) -> Result<(), Error>
Append log entries and call the
callback once logs are persisted on disk. Read moreSource§async fn truncate_after(
&mut self,
last_log_id: Option<LogId<C>>,
) -> Result<(), Error>
async fn truncate_after( &mut self, last_log_id: Option<LogId<C>>, ) -> Result<(), Error>
Truncate logs after
last_log_id, exclusive Read moreSource§async fn purge(&mut self, log_id: LogId<C>) -> Result<(), Error>
async fn purge(&mut self, log_id: LogId<C>) -> Result<(), Error>
Purge logs up to
log_id, inclusive Read moreSource§async fn save_committed(
&mut self,
committed: Option<LogId<C>>,
) -> Result<(), Error>
async fn save_committed( &mut self, committed: Option<LogId<C>>, ) -> Result<(), Error>
Saves the last committed log id to storage. Read more
Source§async fn read_committed(&mut self) -> Result<Option<LogId<C>>, Error>
async fn read_committed(&mut self) -> Result<Option<LogId<C>>, Error>
Return the last saved committed log id by
Self::save_committed.Auto Trait Implementations§
impl<C> Freeze for FileLogStore<C>
impl<C> !RefUnwindSafe for FileLogStore<C>
impl<C> Send for FileLogStore<C>
impl<C> Sync for FileLogStore<C>
impl<C> Unpin for FileLogStore<C>
impl<C> UnsafeUnpin for FileLogStore<C>
impl<C> !UnwindSafe for FileLogStore<C>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<C, T> RaftLogStorageExt<C> for Twhere
T: RaftLogStorage<C>,
C: RaftTypeConfig,
impl<C, T> RaftLogStorageExt<C> for Twhere
T: RaftLogStorage<C>,
C: RaftTypeConfig,
Source§fn blocking_append<I>(
&mut self,
entries: I,
) -> impl Future<Output = Result<(), StorageError<C>>> + Sendwhere
I: IntoIterator<Item = <C as RaftTypeConfig>::Entry> + OptionalSend,
<I as IntoIterator>::IntoIter: OptionalSend,
fn blocking_append<I>(
&mut self,
entries: I,
) -> impl Future<Output = Result<(), StorageError<C>>> + Sendwhere
I: IntoIterator<Item = <C as RaftTypeConfig>::Entry> + OptionalSend,
<I as IntoIterator>::IntoIter: OptionalSend,
Blocking mode appends log entries to the storage. Read more