Skip to main content

TypeConfig

Struct TypeConfig 

Source
pub struct TypeConfig;
Expand description

Type configuration for openraft.

Trait Implementations§

Source§

impl Clone for TypeConfig

Source§

fn clone(&self) -> TypeConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TypeConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TypeConfig

Source§

fn default() -> TypeConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TypeConfig

Source§

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 Ord for TypeConfig

Source§

fn cmp(&self, other: &TypeConfig) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for TypeConfig

Source§

fn eq(&self, other: &TypeConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for TypeConfig

Source§

fn partial_cmp(&self, other: &TypeConfig) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl RaftLogReader<TypeConfig> for Arc<Storage>

Source§

async fn try_get_log_entries<RB: RangeBounds<u64> + Clone + Debug + OptionalSend>( &mut self, range: RB, ) -> Result<Vec<Entry<TypeConfig>>, StorageError<u64>>

Get a series of log entries from storage. Read more
Source§

fn limited_get_log_entries( &mut self, start: u64, end: u64, ) -> impl Future<Output = Result<Vec<<C as RaftTypeConfig>::Entry>, StorageError<<C as RaftTypeConfig>::NodeId>>> + Send

Returns log entries within range [start, end), end is exclusive, potentially limited by implementation-defined constraints. Read more
Source§

impl RaftNetworkFactory<TypeConfig> for RaftNetworkFactory

Source§

type Network = RaftNetworkClient

Actual type of the network handling a single connection.
Source§

async fn new_client( &mut self, _target: u64, node: &BasicNode, ) -> RaftNetworkClient

Create a new network instance sending RPCs to the target node. Read more
Source§

impl RaftSnapshotBuilder<TypeConfig> for Arc<Storage>

Source§

async fn build_snapshot( &mut self, ) -> Result<Snapshot<TypeConfig>, StorageError<u64>>

Build snapshot Read more
Source§

impl RaftStorage<TypeConfig> for Arc<Storage>

Source§

type LogReader = Arc<Storage>

Log reader type.
Source§

type SnapshotBuilder = Arc<Storage>

Snapshot builder type.
Source§

async fn get_log_state( &mut self, ) -> Result<LogState<TypeConfig>, StorageError<u64>>

Returns the last deleted log id and the last log id. Read more
Source§

async fn save_vote(&mut self, vote: &Vote<u64>) -> Result<(), StorageError<u64>>

To ensure correctness: the vote must be persisted on disk before returning.
Source§

async fn read_vote(&mut self) -> Result<Option<Vote<u64>>, StorageError<u64>>

Source§

async fn get_log_reader(&mut self) -> Self::LogReader

Get the log reader. Read more
Source§

async fn append_to_log<I>( &mut self, entries: I, ) -> Result<(), StorageError<u64>>
where I: IntoIterator<Item = Entry<TypeConfig>> + Send,

Append a payload of entries to the log. Read more
Source§

async fn delete_conflict_logs_since( &mut self, log_id: LogId<u64>, ) -> Result<(), StorageError<u64>>

Delete conflict log entries since log_id, inclusive. Read more
Source§

async fn purge_logs_upto( &mut self, log_id: LogId<u64>, ) -> Result<(), StorageError<u64>>

Delete applied log entries upto log_id, inclusive. Read more
Source§

async fn last_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_to_state_machine( &mut self, entries: &[Entry<TypeConfig>], ) -> Result<Vec<ClusterResponse>, StorageError<u64>>

Apply the given payload of entries to the state machine. Read more
Source§

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>>

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>>

Install a snapshot which has finished streaming from the leader. Read more
Source§

async fn get_current_snapshot( &mut self, ) -> Result<Option<Snapshot<TypeConfig>>, StorageError<u64>>

Get a readable handle to the current snapshot, along with its metadata. Read more
Source§

fn save_committed( &mut self, _committed: Option<LogId<<C as RaftTypeConfig>::NodeId>>, ) -> impl Future<Output = Result<(), StorageError<<C as RaftTypeConfig>::NodeId>>> + Send

Saves the last committed log id to storage. Read more
Source§

fn read_committed( &mut self, ) -> impl Future<Output = Result<Option<LogId<<C as RaftTypeConfig>::NodeId>>, StorageError<<C as RaftTypeConfig>::NodeId>>> + Send

Return the last saved committed log id by Self::save_committed.
Source§

impl RaftTypeConfig for TypeConfig

Source§

type D = ClusterCommand

Application-specific request data passed to the state machine.
Source§

type R = ClusterResponse

Application-specific response data returned by the state machine.
Source§

type Node = BasicNode

Raft application level node data
Source§

type NodeId = u64

A Raft node’s ID.
Source§

type Entry = Entry<TypeConfig>

Raft log entry, which can be built from an AppData.
Source§

type SnapshotData = Cursor<Vec<u8>>

Snapshot data for exposing a snapshot for reading & writing. Read more
Source§

type AsyncRuntime = TokioRuntime

Asynchronous runtime type.
Source§

type Responder = OneshotResponder<TypeConfig>

Send the response or error of a client write request(WriteResult). Read more
Source§

impl Serialize for TypeConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for TypeConfig

Source§

impl Eq for TypeConfig

Source§

impl StructuralPartialEq for TypeConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TypeConfigExt for T
where T: RaftTypeConfig,

Source§

fn now() -> <Self::AsyncRuntime as AsyncRuntime>::Instant

Returns the current time.
Source§

fn sleep(duration: Duration) -> <Self::AsyncRuntime as AsyncRuntime>::Sleep

Wait until duration has elapsed.
Source§

fn sleep_until( deadline: <Self::AsyncRuntime as AsyncRuntime>::Instant, ) -> <Self::AsyncRuntime as AsyncRuntime>::Sleep

Wait until deadline is reached.
Source§

fn timeout<R, F>( duration: Duration, future: F, ) -> <Self::AsyncRuntime as AsyncRuntime>::Timeout<R, F>
where F: Future<Output = R> + OptionalSend,

Require a Future to complete before the specified duration has elapsed.
Source§

fn timeout_at<R, F>( deadline: <Self::AsyncRuntime as AsyncRuntime>::Instant, future: F, ) -> <Self::AsyncRuntime as AsyncRuntime>::Timeout<R, F>
where F: Future<Output = R> + OptionalSend,

Require a Future to complete before the specified instant in time.
Source§

fn oneshot<T>() -> (<Self::AsyncRuntime as AsyncRuntime>::OneshotSender<T>, <Self::AsyncRuntime as AsyncRuntime>::OneshotReceiver<T>)
where T: OptionalSend,

Creates a new one-shot channel for sending single values. Read more
Source§

fn spawn<T>( future: T, ) -> <Self::AsyncRuntime as AsyncRuntime>::JoinHandle<<T as Future>::Output>
where T: Future + OptionalSend + 'static, <T as Future>::Output: OptionalSend + 'static,

Spawn a new task.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> AppData for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

Source§

impl<T> AppDataResponse for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Node for T
where T: NodeEssential + Serialize + for<'a> Deserialize<'a>,

Source§

impl<T> OptionalSend for T
where T: Send + ?Sized,

Source§

impl<T> OptionalSync for T
where T: Sync + ?Sized,