ErrorCode

Enum ErrorCode 

Source
pub enum ErrorCode {
Show 35 variants ClusterDown, TryAgain, Timeout, Syntax, InvalidArg, NotFound, MaxForwards, CircuitOpen, ConfirmFailed, ReplConfirmFailed, ClockErr, ReadErr, WriteErr, RemoteErr, NoiseErr, TransportErr, SwarmErr, ActorDown, ActorStopped, MailboxFull, AllReplicasFailed, BufferEvicted, BufferFull, DbOpFailed, InsufficientReplicas, InvalidSender, StaleWrite, MissingPartSeq, PartNotOwned, QuorumFailed, RemoteOpFailed, SeqConflict, WrongSeq, WrongVer, Redirect,
}
Expand description

Error codes used in Sierra server responses.

These codes follow Redis conventions where applicable, with Sierra-specific extensions for domain-specific error conditions.

Variants§

§

ClusterDown

Cluster is down or partitions unavailable

§

TryAgain

Temporary failure, client should retry

§

Timeout

Request timed out

§

Syntax

Invalid syntax in command arguments

§

InvalidArg

Invalid argument provided

§

NotFound

Resource not found

§

MaxForwards

Too many request forwards (loop prevention)

§

CircuitOpen

Circuit breaker is open

§

ConfirmFailed

Confirmation operation failed

§

ReplConfirmFailed

Replication confirmation failed

§

ClockErr

System clock error

§

ReadErr

Read operation error

§

WriteErr

Write operation error

§

RemoteErr

Remote communication error

§

NoiseErr

Network noise protocol error

§

TransportErr

Transport layer error

§

SwarmErr

Swarm initialization error

§

ActorDown

Actor not running

§

ActorStopped

Actor stopped or died

§

MailboxFull

Actor mailbox is full

§

AllReplicasFailed

All replicas failed

§

BufferEvicted

Buffer was evicted

§

BufferFull

Buffer is full

§

DbOpFailed

Database operation failed

§

InsufficientReplicas

Insufficient healthy replicas

§

InvalidSender

Invalid sender

§

StaleWrite

Stale write detected

§

MissingPartSeq

Missing expected partition sequence

§

PartNotOwned

Partition not owned by this node

§

QuorumFailed

Replication quorum failed

§

RemoteOpFailed

Remote operation failed

§

SeqConflict

Sequence conflict detected

§

WrongSeq

Wrong expected sequence

§

WrongVer

Wrong expected version

§

Redirect

Redirect request to another node

Implementations§

Source§

impl ErrorCode

Source

pub fn with_message(&self, message: impl Display) -> String

Format this error code with a message.

§Example
use sierradb_protocol::ErrorCode;

let error = ErrorCode::InvalidArg.with_message("invalid timestamp format");
assert_eq!(error, "INVALIDARG invalid timestamp format");
Source

pub fn is_retryable(&self) -> bool

Check if this error code indicates a temporary failure that should be retried.

Source

pub fn is_cluster_issue(&self) -> bool

Check if this error code indicates a cluster availability issue.

Source

pub fn is_client_error(&self) -> bool

Check if this error code indicates a client argument error.

Trait Implementations§

Source§

impl AsRef<str> for ErrorCode

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for ErrorCode

Source§

fn clone(&self) -> ErrorCode

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 ErrorCode

Source§

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

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

impl Display for ErrorCode

Source§

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

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

impl<'_derivative_strum> From<&'_derivative_strum ErrorCode> for &'static str

Source§

fn from(x: &'_derivative_strum ErrorCode) -> &'static str

Converts to this type from the input type.
Source§

impl From<ErrorCode> for &'static str

Source§

fn from(x: ErrorCode) -> &'static str

Converts to this type from the input type.
Source§

impl FromStr for ErrorCode

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<ErrorCode, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for ErrorCode

Source§

fn eq(&self, other: &ErrorCode) -> 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 TryFrom<&str> for ErrorCode

Source§

type Error = ParseError

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

fn try_from(s: &str) -> Result<ErrorCode, <Self as TryFrom<&str>>::Error>

Performs the conversion.
Source§

impl Copy for ErrorCode

Source§

impl Eq for ErrorCode

Source§

impl StructuralPartialEq for ErrorCode

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, 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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.