pub enum RaftError {
Show 15 variants
NotLeader {
leader_id: Option<u64>,
},
InvalidState {
expected: String,
actual: String,
},
LogInconsistency {
reason: String,
},
StorageError {
message: String,
},
StaleTerm {
current: u64,
received: u64,
},
VoteAlreadyGranted {
voted_for: u64,
},
ConfigError {
message: String,
},
NetworkError {
message: String,
},
Timeout {
description: String,
},
MembershipChangeInProgress,
NodeAlreadyMember {
node_id: u64,
},
NodeNotMember {
node_id: u64,
},
StateMachineError {
message: String,
},
Recovering,
Other {
message: String,
},
}Expand description
Errors that can occur during Raft consensus operations
Variants§
NotLeader
Node is not the leader
InvalidState
Invalid node state for this operation
LogInconsistency
Log inconsistency detected
StorageError
Storage operation failed
StaleTerm
Term is stale
VoteAlreadyGranted
Vote already granted to another candidate
ConfigError
Configuration error
NetworkError
Network error
Timeout
Timeout occurred
MembershipChangeInProgress
A membership change is already in progress (joint consensus active)
NodeAlreadyMember
The target node is already a member of the cluster
NodeNotMember
The target node is not a member of the cluster
StateMachineError
State machine application error
Recovering
Node is currently replaying its WAL on startup and cannot serve requests
Other
Generic error
Trait Implementations§
Source§impl Error for RaftError
impl Error for RaftError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl StructuralPartialEq for RaftError
Auto Trait Implementations§
impl Freeze for RaftError
impl RefUnwindSafe for RaftError
impl Send for RaftError
impl Sync for RaftError
impl Unpin for RaftError
impl UnsafeUnpin for RaftError
impl UnwindSafe for RaftError
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.