#[non_exhaustive]pub enum ErrorKind {
Show 31 variants
ResponseError,
ParseError,
AuthenticationFailed,
PermissionDenied,
TypeError,
ExecAbortError,
BusyLoadingError,
NoScriptError,
InvalidClientConfig,
Moved,
Ask,
TryAgain,
ClusterDown,
CrossSlot,
MasterDown,
IoError,
FatalSendError,
FatalReceiveError,
ClientError,
ExtensionError,
ReadOnly,
MasterNameNotFoundBySentinel,
NoValidReplicasFoundBySentinel,
EmptySentinelList,
NotBusy,
AllConnectionsUnavailable,
ConnectionNotFoundForRoute,
RESP3NotSupported,
NotAllSlotsCovered,
UserOperationError,
ProtocolDesync,
}Expand description
An enum of all error kinds.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ResponseError
The server generated an invalid response.
ParseError
The parser failed to parse the server response.
AuthenticationFailed
The authentication with the server failed.
PermissionDenied
User lacks permission for the requested operation (ACL).
TypeError
Operation failed because of a type mismatch.
ExecAbortError
A script execution was aborted.
BusyLoadingError
The server cannot response because it’s loading a dump.
NoScriptError
A script that was requested does not actually exist.
InvalidClientConfig
An error that was caused because the parameter to the client were wrong.
Moved
Raised if a key moved to a different node.
Ask
Raised if a key moved to a different node but we need to ask.
TryAgain
Raised if a request needs to be retried.
ClusterDown
Raised if a valkey cluster is down.
CrossSlot
A request spans multiple slots
MasterDown
A cluster master is unavailable.
IoError
This kind is returned if the redis error is one that is not native to the system. This is usually the case if the cause is another error.
FatalSendError
An error indicating that a fatal error occurred while attempting to send a request to the server, meaning the connection was closed before the request was transmitted. Since the server did not process the request, it is safe to retry the request.
FatalReceiveError
An error indicating that a fatal error occurred while trying to receive a response, likely due to the closure of the underlying connection. It is unclear whether the server processed the request, making it unsafe to retry the request.
ClientError
An error raised that was identified on the client before execution.
ExtensionError
An extension error. This is an error created by the server that is not directly understood by the library.
ReadOnly
Attempt to write to a read-only server
MasterNameNotFoundBySentinel
Requested name not found among masters returned by the sentinels
NoValidReplicasFoundBySentinel
No valid replicas found in the sentinels, for a given master name
EmptySentinelList
At least one sentinel connection info is required
NotBusy
Attempted to kill a script/function while they weren’t executing
Used when no valid node connections remain in the cluster connection
ConnectionNotFoundForRoute
Used when a connection is not found for the specified route.
RESP3NotSupported
Redis Servers prior to v6.0.0 doesn’t support RESP3. Try disabling resp3 option
NotAllSlotsCovered
Not all slots are covered by the cluster
UserOperationError
Used when an error occurs on when user perform wrong usage of management operation. E.g. not allowed configuration change.
ProtocolDesync
Response synchronization lost between commands and responses. The connection protocol is broken and must be reestablished.
Trait Implementations§
impl Copy for ErrorKind
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnsafeUnpin for ErrorKind
impl UnwindSafe for ErrorKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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 more