Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error { ConnectionClosed, Memcache(String), UnexpectedResponse, Protocol(ParseError), Io(Error), AllConnectionsFailed, NoPending, TooManyInFlight, KeyTooLong, LengthMismatch, }
Expand description

Errors returned by the ringline Memcache client.

Marked #[non_exhaustive] because the crate is still evolving and new transport / protocol error kinds are expected. Downstream match blocks must include a wildcard arm.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ConnectionClosed

The connection was closed before a response was received.

§

Memcache(String)

The server returned an error response (ERROR, CLIENT_ERROR, SERVER_ERROR).

§

UnexpectedResponse

The response type did not match the expected type for the command.

§

Protocol(ParseError)

Memcache protocol parse error.

§

Io(Error)

I/O error during send.

§

AllConnectionsFailed

All connections in the pool are down and reconnection failed.

§

NoPending

recv() called with no pending fire operations.

§

TooManyInFlight

The in-flight pending-op queue reached max_in_flight. Drain via recv() before issuing more fire_* calls. Configurable via ClientBuilder::max_in_flight.

§

KeyTooLong

Key exceeds memcache’s 250-byte cap (MAX_KEY_LEN). The request is rejected client-side instead of being transmitted; otherwise the server would reply with CLIENT_ERROR after consuming pool / pending-queue capacity for a doomed command.

§

LengthMismatch

A streaming set_stream value source produced a different number of bytes than the declared length. Because the command header (which declares the length) is already on the wire, the framing is now irrecoverably desynced, so the connection is closed — matching the read-side poison rule.

Trait Implementations§

Source§

impl Debug for Error

Source§

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

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

impl Display for Error

Source§

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

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

impl Error for Error

Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ParseError> for Error

Source§

fn from(source: ParseError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

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