#[non_exhaustive]pub enum StoreError {
Io(Error),
Serialization(Box<dyn Error + Send + Sync>),
Validation(String),
Connection(Box<dyn Error + Send + Sync>),
Database(Box<dyn Error + Send + Sync>),
RetriesExhausted {
op: String,
},
Migration(Box<dyn Error + Send + Sync>),
InvalidConfig(String),
DeviceNotFound(i32),
}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.
Io(Error)
Serialization(Box<dyn Error + Send + Sync>)
Validation(String)
Validation failure with a descriptive message and no underlying typed
source — e.g. “Invalid foo length: 17”. Prefer Serialization or a
dedicated typed variant if a real source exists.
Connection(Box<dyn Error + Send + Sync>)
Database(Box<dyn Error + Send + Sync>)
RetriesExhausted
Migration(Box<dyn Error + Send + Sync>)
InvalidConfig(String)
DeviceNotFound(i32)
Implementations§
Source§impl StoreError
impl StoreError
Sourcepub fn is_database_busy_or_locked(&self) -> bool
pub fn is_database_busy_or_locked(&self) -> bool
Walks the error source chain and returns true if any layer’s Display
indicates a SQLite busy/locked condition. Used by retry layers that
can’t depend on a specific backend (Diesel, libsql, etc.) directly.
Substring matching is necessary because SQLite reports BUSY/LOCKED
through sqlite3_errmsg() strings; the error code itself is mapped
to Diesel::DatabaseError(Unknown, _) (or similar) without further
discrimination.
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
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<DieselOrStore> for StoreError
impl From<DieselOrStore> for StoreError
Source§fn from(e: DieselOrStore) -> StoreError
fn from(e: DieselOrStore) -> StoreError
Converts to this type from the input type.
Source§impl From<Error> for StoreError
impl From<Error> for StoreError
Source§fn from(source: Error) -> StoreError
fn from(source: Error) -> StoreError
Converts to this type from the input type.
Source§impl From<StoreError> for AppStateSyncError
impl From<StoreError> for AppStateSyncError
Source§fn from(source: StoreError) -> AppStateSyncError
fn from(source: StoreError) -> AppStateSyncError
Converts to this type from the input type.
Source§impl From<StoreError> for TcTokenError
impl From<StoreError> for TcTokenError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Converts to this type from the input type.
Source§impl From<StoreError> for BotBuilderError
impl From<StoreError> for BotBuilderError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for StoreError
impl !UnwindSafe for StoreError
impl Freeze for StoreError
impl Send for StoreError
impl Sync for StoreError
impl Unpin for StoreError
impl UnsafeUnpin for StoreError
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<E> ErrorChainExt for Ewhere
E: Error + 'static,
impl<E> ErrorChainExt for Ewhere
E: Error + 'static,
fn as_dyn_error(&self) -> &(dyn Error + 'static)
Source§fn sources(&self) -> Sources<'_> ⓘ
fn sources(&self) -> Sources<'_> ⓘ
This error and every error reachable from it, nearest first. Read more
Source§fn server_rejection(&self) -> Option<ServerRejection<'_>>
fn server_rejection(&self) -> Option<ServerRejection<'_>>
The server rejection behind this error, if any. Read more
Source§fn is_timeout(&self) -> bool
fn is_timeout(&self) -> bool
Whether the operation ran out of time waiting for the server. Read more
Whether the failure was the transport being gone rather than the
operation being refused. Read more
Source§fn store_failure(&self) -> Option<&StoreError>
fn store_failure(&self) -> Option<&StoreError>
The persistence failure behind this error, if any.
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreimpl<T> MaybeSend for T
impl<T> MaybeSendSync for T
impl<T> Spawnable for Twhere
T: Send + 'static,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more