pub enum RocksRequest {
Set {
key: String,
value: String,
},
}
Expand description
Here you will set the types of request that will interact with the raft nodes.
For example the Set
will be used to write data (key and value) to the raft database.
The AddNode
will append a new node to the current existing shared list of nodes.
You will want to add any request that can write data in all nodes here.
Variants§
Trait Implementations§
source§impl Clone for RocksRequest
impl Clone for RocksRequest
source§fn clone(&self) -> RocksRequest
fn clone(&self) -> RocksRequest
Returns a copy 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 RocksRequest
impl Debug for RocksRequest
source§impl<'de> Deserialize<'de> for RocksRequest
impl<'de> Deserialize<'de> for RocksRequest
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl RaftStorage<RocksRequest, RocksResponse> for Arc<RocksStore>
impl RaftStorage<RocksRequest, RocksResponse> for Arc<RocksStore>
§type SnapshotData = Cursor<Vec<u8, Global>>
type SnapshotData = Cursor<Vec<u8, Global>>
The storage engine’s associated type used for exposing a snapshot for reading & writing. Read more
fn save_hard_state<'life0, 'life1, 'async_trait>( &'life0 self, vote: &'life1 HardState ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn read_hard_state<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Option<HardState>, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
source§fn append_to_log<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
entries: &'life1 [&'life2 Entry<RocksRequest>]
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn append_to_log<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, entries: &'life1 [&'life2 Entry<RocksRequest>] ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Append a payload of entries to the log. Read more
source§fn delete_conflict_logs_since<'life0, 'async_trait>(
&'life0 self,
log_id: LogId
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_conflict_logs_since<'life0, 'async_trait>( &'life0 self, log_id: LogId ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Delete conflict log entries since
log_id
, inclusive.source§fn purge_logs_upto<'life0, 'async_trait>(
&'life0 self,
log_id: LogId
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn purge_logs_upto<'life0, 'async_trait>( &'life0 self, log_id: LogId ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Delete applied log entries upto
log_id
, inclusive.source§fn get_log_state<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<LogState, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_log_state<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<LogState, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns the last deleted log id and the last log id. Read more
source§fn try_get_log_entries<'life0, 'async_trait, RB>(
&'life0 self,
range: RB
) -> Pin<Box<dyn Future<Output = Result<Vec<Entry<RocksRequest>>, StorageError>> + Send + 'async_trait>>where
RB: 'async_trait + RangeBounds<u64> + Clone + Debug + Send + Sync,
Self: 'async_trait,
'life0: 'async_trait,
fn try_get_log_entries<'life0, 'async_trait, RB>( &'life0 self, range: RB ) -> Pin<Box<dyn Future<Output = Result<Vec<Entry<RocksRequest>>, StorageError>> + Send + 'async_trait>>where RB: 'async_trait + RangeBounds<u64> + Clone + Debug + Send + Sync, Self: 'async_trait, 'life0: 'async_trait,
Get a series of log entries from storage. Read more
source§fn last_applied_state<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(Option<LogId>, Option<EffectiveMembership>), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn last_applied_state<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(Option<LogId>, Option<EffectiveMembership>), StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns the last applied log id which is recorded in state machine, and the last applied membership log id and
membership config.
source§fn apply_to_state_machine<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
entries: &'life1 [&'life2 Entry<RocksRequest>]
) -> Pin<Box<dyn Future<Output = Result<Vec<RocksResponse>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn apply_to_state_machine<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, entries: &'life1 [&'life2 Entry<RocksRequest>] ) -> Pin<Box<dyn Future<Output = Result<Vec<RocksResponse>, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Apply the given payload of entries to the state machine. Read more
source§fn build_snapshot<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Snapshot<Cursor<Vec<u8>>>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn build_snapshot<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Snapshot<Cursor<Vec<u8>>>, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Build snapshot Read more
source§fn begin_receiving_snapshot<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Box<Self::SnapshotData>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin_receiving_snapshot<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Box<Self::SnapshotData>, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Create a new blank snapshot, returning a writable handle to the snapshot object. Read more
source§fn install_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
meta: &'life1 SnapshotMeta,
snapshot: Box<Self::SnapshotData>
) -> Pin<Box<dyn Future<Output = Result<StateMachineChanges, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn install_snapshot<'life0, 'life1, 'async_trait>( &'life0 self, meta: &'life1 SnapshotMeta, snapshot: Box<Self::SnapshotData> ) -> Pin<Box<dyn Future<Output = Result<StateMachineChanges, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Install a snapshot which has finished streaming from the cluster leader. Read more
source§fn get_current_snapshot<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<Snapshot<Self::SnapshotData>>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_current_snapshot<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Option<Snapshot<Self::SnapshotData>>, StorageError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Get a readable handle to the current snapshot, along with its metadata. Read more