Enum openraft::StorageError
source · pub enum StorageError<NID>where
NID: NodeId,{
Defensive {
source: DefensiveError<NID>,
},
IO {
source: StorageIOError<NID>,
},
}
Expand description
A storage error could be either a defensive check error or an error occurred when doing the actual io operation.
It indicates a data crash. An application returning this error will shutdown the Openraft node immediately to prevent further damage.
Variants§
Defensive
An error raised by defensive check.
Fields
§
source: DefensiveError<NID>
IO
An error raised by io operation.
Fields
§
source: StorageIOError<NID>
Implementations§
source§impl<NID> StorageError<NID>where
NID: NodeId,
impl<NID> StorageError<NID>where
NID: NodeId,
pub fn into_defensive(self) -> Option<DefensiveError<NID>>
pub fn into_io(self) -> Option<StorageIOError<NID>>
pub fn from_io_error( subject: ErrorSubject<NID>, verb: ErrorVerb, io_error: Error, ) -> Self
Trait Implementations§
source§impl<NID> Clone for StorageError<NID>
impl<NID> Clone for StorageError<NID>
source§fn clone(&self) -> StorageError<NID>
fn clone(&self) -> StorageError<NID>
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<NID> Debug for StorageError<NID>
impl<NID> Debug for StorageError<NID>
source§impl<'de, NID> Deserialize<'de> for StorageError<NID>where
NID: NodeId,
impl<'de, NID> Deserialize<'de> for StorageError<NID>where
NID: NodeId,
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<NID> Display for StorageError<NID>
impl<NID> Display for StorageError<NID>
source§impl<NID> Error for StorageError<NID>
impl<NID> Error for StorageError<NID>
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
source§fn provide<'_request>(&'_request self, request: &mut Request<'_request>)
fn provide<'_request>(&'_request self, request: &mut Request<'_request>)
🔬This is a nightly-only experimental API. (
error_generic_member_access
)Provides type based access to context intended for error reports. 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()
source§impl<NID> From<DefensiveError<NID>> for StorageError<NID>where
NID: NodeId,
impl<NID> From<DefensiveError<NID>> for StorageError<NID>where
NID: NodeId,
source§fn from(source: DefensiveError<NID>) -> Self
fn from(source: DefensiveError<NID>) -> Self
Converts to this type from the input type.
source§impl<C: RaftTypeConfig, E: Error> From<StorageError<<C as RaftTypeConfig>::NodeId>> for StreamingError<C, E>
impl<C: RaftTypeConfig, E: Error> From<StorageError<<C as RaftTypeConfig>::NodeId>> for StreamingError<C, E>
source§fn from(source: StorageError<C::NodeId>) -> Self
fn from(source: StorageError<C::NodeId>) -> Self
Converts to this type from the input type.
source§impl<NID> From<StorageError<NID>> for Fatal<NID>where
NID: NodeId,
impl<NID> From<StorageError<NID>> for Fatal<NID>where
NID: NodeId,
source§fn from(source: StorageError<NID>) -> Self
fn from(source: StorageError<NID>) -> Self
Converts to this type from the input type.
source§impl<NID, E> From<StorageError<NID>> for RaftError<NID, E>where
NID: NodeId,
impl<NID, E> From<StorageError<NID>> for RaftError<NID, E>where
NID: NodeId,
source§fn from(se: StorageError<NID>) -> Self
fn from(se: StorageError<NID>) -> Self
Converts to this type from the input type.
source§impl<NID> From<StorageIOError<NID>> for StorageError<NID>where
NID: NodeId,
impl<NID> From<StorageIOError<NID>> for StorageError<NID>where
NID: NodeId,
source§fn from(source: StorageIOError<NID>) -> Self
fn from(source: StorageIOError<NID>) -> Self
Converts to this type from the input type.
source§impl<NID> PartialEq for StorageError<NID>
impl<NID> PartialEq for StorageError<NID>
source§fn eq(&self, other: &StorageError<NID>) -> bool
fn eq(&self, other: &StorageError<NID>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<NID> Serialize for StorageError<NID>where
NID: NodeId,
impl<NID> Serialize for StorageError<NID>where
NID: NodeId,
impl<NID> Eq for StorageError<NID>
impl<NID> StructuralPartialEq for StorageError<NID>where
NID: NodeId,
Auto Trait Implementations§
impl<NID> Freeze for StorageError<NID>where
NID: Freeze,
impl<NID> RefUnwindSafe for StorageError<NID>where
NID: RefUnwindSafe,
impl<NID> Send for StorageError<NID>
impl<NID> Sync for StorageError<NID>
impl<NID> Unpin for StorageError<NID>where
NID: Unpin,
impl<NID> UnwindSafe for StorageError<NID>where
NID: UnwindSafe,
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