pub struct AstraStateMachine { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Clone for AstraStateMachine
impl Clone for AstraStateMachine
Source§fn clone(&self) -> AstraStateMachine
fn clone(&self) -> AstraStateMachine
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 Debug for AstraStateMachine
impl Debug for AstraStateMachine
Source§impl RaftStateMachine<AstraTypeConfig> for AstraStateMachine
impl RaftStateMachine<AstraTypeConfig> for AstraStateMachine
Source§type SnapshotBuilder = AstraSnapshotBuilder
type SnapshotBuilder = AstraSnapshotBuilder
Snapshot builder type.
Source§async fn applied_state(
&mut self,
) -> Result<(Option<LogId<u64>>, StoredMembership<u64, BasicNode>), StorageError<u64>>
async fn applied_state( &mut self, ) -> Result<(Option<LogId<u64>>, StoredMembership<u64, BasicNode>), StorageError<u64>>
Returns the last applied log id which is recorded in state machine, and the last applied
membership config. Read more
Source§async fn apply<I>(
&mut self,
entries: I,
) -> Result<Vec<AstraWriteResponse>, StorageError<u64>>
async fn apply<I>( &mut self, entries: I, ) -> Result<Vec<AstraWriteResponse>, StorageError<u64>>
Apply the given payload of entries to the state machine. Read more
Source§async fn get_snapshot_builder(&mut self) -> Self::SnapshotBuilder
async fn get_snapshot_builder(&mut self) -> Self::SnapshotBuilder
Get the snapshot builder for the state machine. Read more
Source§async fn begin_receiving_snapshot(
&mut self,
) -> Result<Box<Cursor<Vec<u8>>>, StorageError<u64>>
async fn begin_receiving_snapshot( &mut self, ) -> Result<Box<Cursor<Vec<u8>>>, StorageError<u64>>
Create a new blank snapshot, returning a writable handle to the snapshot object. Read more
Source§async fn install_snapshot(
&mut self,
meta: &SnapshotMeta<u64, BasicNode>,
snapshot: Box<Cursor<Vec<u8>>>,
) -> Result<(), StorageError<u64>>
async fn install_snapshot( &mut self, meta: &SnapshotMeta<u64, BasicNode>, snapshot: Box<Cursor<Vec<u8>>>, ) -> Result<(), StorageError<u64>>
Install a snapshot which has finished streaming from the leader. Read more
Source§async fn get_current_snapshot(
&mut self,
) -> Result<Option<Snapshot<AstraTypeConfig>>, StorageError<u64>>
async fn get_current_snapshot( &mut self, ) -> Result<Option<Snapshot<AstraTypeConfig>>, StorageError<u64>>
Get a readable handle to the current snapshot. Read more
Auto Trait Implementations§
impl Freeze for AstraStateMachine
impl !RefUnwindSafe for AstraStateMachine
impl Send for AstraStateMachine
impl Sync for AstraStateMachine
impl Unpin for AstraStateMachine
impl UnsafeUnpin for AstraStateMachine
impl !UnwindSafe for AstraStateMachine
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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::RequestCreates a shared type from an unshared type.