pub enum IdentityUpdateError {
Show 15 variants
InvalidSignatureRequest(SignatureRequestError),
Api(ApiError),
Validation(ValidationError),
Storage(StorageError),
Db(ConnectionError),
Association(AssociationError),
SignatureValidation(SignatureError),
Identity(IdentityError),
Conversion(ConversionError),
AddressValidation(IdentifierValidationError),
Handle(HandleError),
Blocked(BlockedConnection),
InboxNotFound,
EmptyIdentityLog,
Publish(Box<IdentityUpdateError>),
}Expand description
A failure to read, verify, build, or publish identity updates.
Variants§
InvalidSignatureRequest(SignatureRequestError)
Signature request error.
The signature request is incomplete, or asks for more actions than one identity update may carry. Not retryable.
Api(ApiError)
API error.
Network request to XMTP backend failed. Retryable when the request is.
Validation(ValidationError)
Validation error.
The identity update did not validate against its history. Not retryable.
Storage(StorageError)
Storage error.
Database operation failed. May be retryable.
Db(ConnectionError)
Database connection error.
Connection to database failed. Retryable.
Association(AssociationError)
Association error.
Identity association operation failed. Not retryable.
SignatureValidation(SignatureError)
Signature validation error.
A signature failed verification. Retryable when the verifier failed transiently.
Identity(IdentityError)
Identity error.
Problem with identity operations. Not retryable.
Conversion(ConversionError)
Conversion error.
Data type failed to convert. Not retryable.
AddressValidation(IdentifierValidationError)
Handle(HandleError)
Blocked(BlockedConnection)
The connection is blocked. Not retryable.
InboxNotFound
Inbox not found.
The backend holds no identity update for the inbox. Not retryable.
EmptyIdentityLog
Empty identity log.
The inbox’s identity updates produced no association state. Not retryable.
Publish(Box<IdentityUpdateError>)
Publish failed.
Publishing a signed identity update failed after its conflict retries. Not retryable: the caller signs and applies a new request.
Trait Implementations§
Source§impl Debug for IdentityUpdateError
impl Debug for IdentityUpdateError
Source§impl Display for IdentityUpdateError
impl Display for IdentityUpdateError
Source§impl Error for IdentityUpdateError
impl Error for IdentityUpdateError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl ErrorCode for IdentityUpdateError
impl ErrorCode for IdentityUpdateError
Source§fn error_code(&self) -> &'static str
fn error_code(&self) -> &'static str
Source§impl From<ApiError> for IdentityUpdateError
impl From<ApiError> for IdentityUpdateError
Source§fn from(source: ApiError) -> IdentityUpdateError
fn from(source: ApiError) -> IdentityUpdateError
Source§impl From<AssociationError> for IdentityUpdateError
impl From<AssociationError> for IdentityUpdateError
Source§fn from(source: AssociationError) -> IdentityUpdateError
fn from(source: AssociationError) -> IdentityUpdateError
Source§impl From<BlockedConnection> for IdentityUpdateError
impl From<BlockedConnection> for IdentityUpdateError
Source§fn from(source: BlockedConnection) -> IdentityUpdateError
fn from(source: BlockedConnection) -> IdentityUpdateError
Source§impl From<ConnectionError> for IdentityUpdateError
impl From<ConnectionError> for IdentityUpdateError
Source§fn from(source: ConnectionError) -> IdentityUpdateError
fn from(source: ConnectionError) -> IdentityUpdateError
Source§impl From<ConversionError> for IdentityUpdateError
impl From<ConversionError> for IdentityUpdateError
Source§fn from(source: ConversionError) -> IdentityUpdateError
fn from(source: ConversionError) -> IdentityUpdateError
Source§impl From<HandleError> for IdentityUpdateError
impl From<HandleError> for IdentityUpdateError
Source§fn from(source: HandleError) -> IdentityUpdateError
fn from(source: HandleError) -> IdentityUpdateError
Source§impl From<IdentifierValidationError> for IdentityUpdateError
impl From<IdentifierValidationError> for IdentityUpdateError
Source§fn from(source: IdentifierValidationError) -> IdentityUpdateError
fn from(source: IdentifierValidationError) -> IdentityUpdateError
Source§impl From<IdentityError> for IdentityUpdateError
impl From<IdentityError> for IdentityUpdateError
Source§fn from(source: IdentityError) -> IdentityUpdateError
fn from(source: IdentityError) -> IdentityUpdateError
Source§impl From<IdentityUpdateError> for ClientError
impl From<IdentityUpdateError> for ClientError
Source§fn from(source: IdentityUpdateError) -> Self
fn from(source: IdentityUpdateError) -> Self
Source§impl From<IdentityUpdateError> for DeviceSyncError
impl From<IdentityUpdateError> for DeviceSyncError
Source§fn from(source: IdentityUpdateError) -> Self
fn from(source: IdentityUpdateError) -> Self
Source§impl From<IdentityUpdateError> for GroupError
impl From<IdentityUpdateError> for GroupError
Source§fn from(source: IdentityUpdateError) -> Self
fn from(source: IdentityUpdateError) -> Self
Source§impl From<IdentityUpdateError> for GroupMessageProcessingError
impl From<IdentityUpdateError> for GroupMessageProcessingError
Source§fn from(source: IdentityUpdateError) -> Self
fn from(source: IdentityUpdateError) -> Self
Source§impl From<IdentityUpdateError> for IdentityDependencyError
impl From<IdentityUpdateError> for IdentityDependencyError
Source§fn from(error: IdentityUpdateError) -> IdentityDependencyError
fn from(error: IdentityUpdateError) -> IdentityDependencyError
Source§impl From<IdentityUpdateError> for InstallationDiffError
impl From<IdentityUpdateError> for InstallationDiffError
Source§fn from(source: IdentityUpdateError) -> InstallationDiffError
fn from(source: IdentityUpdateError) -> InstallationDiffError
Source§impl From<NotFound> for IdentityUpdateError
impl From<NotFound> for IdentityUpdateError
Source§fn from(value: NotFound) -> IdentityUpdateError
fn from(value: NotFound) -> IdentityUpdateError
Source§impl From<SignatureError> for IdentityUpdateError
impl From<SignatureError> for IdentityUpdateError
Source§fn from(source: SignatureError) -> IdentityUpdateError
fn from(source: SignatureError) -> IdentityUpdateError
Source§impl From<SignatureRequestError> for IdentityUpdateError
impl From<SignatureRequestError> for IdentityUpdateError
Source§fn from(source: SignatureRequestError) -> IdentityUpdateError
fn from(source: SignatureRequestError) -> IdentityUpdateError
Source§impl From<StorageError> for IdentityUpdateError
impl From<StorageError> for IdentityUpdateError
Source§fn from(source: StorageError) -> IdentityUpdateError
fn from(source: StorageError) -> IdentityUpdateError
Source§impl From<ValidationError> for IdentityUpdateError
impl From<ValidationError> for IdentityUpdateError
Source§fn from(source: ValidationError) -> IdentityUpdateError
fn from(source: ValidationError) -> IdentityUpdateError
Source§impl NeedsDbReconnect for IdentityUpdateError
impl NeedsDbReconnect for IdentityUpdateError
fn needs_db_reconnect(&self) -> bool
Source§fn restart_delay(&self) -> Option<Duration>
fn restart_delay(&self) -> Option<Duration>
Source§impl RetryableError for IdentityUpdateError
impl RetryableError for IdentityUpdateError
fn is_retryable(&self) -> bool
Source§fn rate_limit_delay(&self) -> Option<Duration>
fn rate_limit_delay(&self) -> Option<Duration>
retry_async!] never retries sooner.Auto Trait Implementations§
impl Freeze for IdentityUpdateError
impl !RefUnwindSafe for IdentityUpdateError
impl Send for IdentityUpdateError
impl Sync for IdentityUpdateError
impl Unpin for IdentityUpdateError
impl UnsafeUnpin for IdentityUpdateError
impl !UnwindSafe for IdentityUpdateError
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoSql for T
impl<T> IntoSql for T
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].