#[non_exhaustive]pub enum PersistenceError {
LockHeld {
key: String,
},
LockAcquireTimeout {
key: String,
attempts: u32,
},
SchemaVersionMismatch {
payload: u32,
min: u32,
current: u32,
},
Config(String),
Backend(String),
Serde(Error),
}Expand description
Errors that the persistence layer surfaces to its callers.
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.
LockHeld
The lock was held by another process when a non-blocking
try_acquire returned. Carries the lock key for diagnostics.
LockAcquireTimeout
The lock could not be acquired within the configured deadline.
SchemaVersionMismatch
Schema version mismatch — a payload tagged with a version this build does not understand.
Fields
Config(String)
Configuration mistake — connection string malformed, builder missing required field, etc.
Backend(String)
Generic backend failure — sqlx / redis error, network
drop, malformed payload. Contains the original error message.
Serde(Error)
JSON encode/decode failure on a stored payload.
Trait Implementations§
Source§impl Debug for PersistenceError
impl Debug for PersistenceError
Source§impl Display for PersistenceError
impl Display for PersistenceError
Source§impl Error for PersistenceError
impl Error for PersistenceError
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()
Source§impl From<Error> for PersistenceError
impl From<Error> for PersistenceError
Source§impl From<PersistenceError> for Error
impl From<PersistenceError> for Error
Source§fn from(err: PersistenceError) -> Self
fn from(err: PersistenceError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for PersistenceError
impl !RefUnwindSafe for PersistenceError
impl Send for PersistenceError
impl Sync for PersistenceError
impl Unpin for PersistenceError
impl UnsafeUnpin for PersistenceError
impl !UnwindSafe for PersistenceError
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
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 more