pub enum SubscribeError {
Show 16 variants
LocalDelivery(LocalDeliveryError),
Transport(TransportError),
Group(Box<GroupError>),
NotFound(NotFound),
GroupMessageNotFound,
ReceiveGroup(Box<GroupMessageProcessingError>),
Storage(StorageError),
Decode(DecodeError),
ApiClient(ApiError),
BoxError(Box<dyn RetryableError>),
Db(ConnectionError),
Conversion(ConversionError),
Envelope(EnvelopeError),
Enriched(EnrichMessageError),
Configuration(Box<ClientError>),
StreamStale,
}Variants§
LocalDelivery(LocalDeliveryError)
Local message delivery failed. May be retryable for a storage failure.
Transport(TransportError)
The shared native transport failed. May be retryable.
Group(Box<GroupError>)
Group error.
Group operation failed during subscription. May be retryable.
NotFound(NotFound)
Not found.
Subscribed resource not found. Retryable.
GroupMessageNotFound
Group message not found.
Expected message missing from database. Retryable.
ReceiveGroup(Box<GroupMessageProcessingError>)
Receive group error.
Processing streamed group message failed. May be retryable.
Storage(StorageError)
Storage error.
Database operation failed. May be retryable.
Decode(DecodeError)
Decode error.
Protobuf decoding failed. Not retryable.
ApiClient(ApiError)
API client error.
Network request failed. Retryable.
BoxError(Box<dyn RetryableError>)
Boxed error.
Wrapped dynamic error. May be retryable.
Db(ConnectionError)
Database connection error.
Database connection failed. Retryable.
Conversion(ConversionError)
Conversion error.
Proto conversion failed. Not retryable.
Envelope(EnvelopeError)
Envelope error.
Invalid backend envelope. Not retryable.
Enriched(EnrichMessageError)
Enriched Message Error.
Configuration(Box<ClientError>)
The client latched a fatal configuration failure.
Either this database is bound to a different deployment (CFG-051) or the deployment now requires a newer client (CFG-061). Every open stream is closed with it and every later call fails with it. Not retryable.
StreamStale
Stream liveness watchdog tripped.
No activity arrived within the idle timeout, so the stream was terminated to force a reconnect (resuming from the persisted cursor). Retryable.
Implementations§
Source§impl SubscribeError
impl SubscribeError
pub fn dyn_err(other: impl RetryableError + 'static) -> Self
Trait Implementations§
Source§impl Debug for SubscribeError
impl Debug for SubscribeError
Source§impl Display for SubscribeError
impl Display for SubscribeError
Source§impl Error for SubscribeError
impl Error for SubscribeError
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 SubscribeError
impl ErrorCode for SubscribeError
Source§fn error_code(&self) -> &'static str
fn error_code(&self) -> &'static str
Source§impl From<ApiError> for SubscribeError
impl From<ApiError> for SubscribeError
Source§impl From<Box<GroupError>> for SubscribeError
impl From<Box<GroupError>> for SubscribeError
Source§fn from(source: Box<GroupError>) -> Self
fn from(source: Box<GroupError>) -> Self
Source§impl From<Box<GroupMessageProcessingError>> for SubscribeError
impl From<Box<GroupMessageProcessingError>> for SubscribeError
Source§impl From<ConnectionError> for SubscribeError
impl From<ConnectionError> for SubscribeError
Source§fn from(source: ConnectionError) -> Self
fn from(source: ConnectionError) -> Self
Source§impl From<ConversionError> for SubscribeError
impl From<ConversionError> for SubscribeError
Source§fn from(source: ConversionError) -> Self
fn from(source: ConversionError) -> Self
Source§impl From<DecodeError> for SubscribeError
impl From<DecodeError> for SubscribeError
Source§fn from(source: DecodeError) -> Self
fn from(source: DecodeError) -> Self
Source§impl From<EnrichMessageError> for SubscribeError
impl From<EnrichMessageError> for SubscribeError
Source§fn from(source: EnrichMessageError) -> Self
fn from(source: EnrichMessageError) -> Self
Source§impl From<EnvelopeError> for SubscribeError
impl From<EnvelopeError> for SubscribeError
Source§fn from(source: EnvelopeError) -> Self
fn from(source: EnvelopeError) -> Self
Source§impl From<GroupError> for SubscribeError
impl From<GroupError> for SubscribeError
Source§fn from(value: GroupError) -> Self
fn from(value: GroupError) -> Self
Source§impl From<LocalDeliveryError> for SubscribeError
impl From<LocalDeliveryError> for SubscribeError
Source§fn from(source: LocalDeliveryError) -> Self
fn from(source: LocalDeliveryError) -> Self
Source§impl From<NotFound> for SubscribeError
impl From<NotFound> for SubscribeError
Source§impl From<StorageError> for SubscribeError
impl From<StorageError> for SubscribeError
Source§fn from(source: StorageError) -> Self
fn from(source: StorageError) -> Self
Source§impl From<SubscribeError> for DeviceSyncError
impl From<SubscribeError> for DeviceSyncError
Source§fn from(source: SubscribeError) -> Self
fn from(source: SubscribeError) -> Self
Source§impl From<TransportError> for SubscribeError
impl From<TransportError> for SubscribeError
Source§fn from(source: TransportError) -> Self
fn from(source: TransportError) -> Self
Source§impl NeedsDbReconnect for SubscribeError
impl NeedsDbReconnect for SubscribeError
Source§fn needs_db_reconnect(&self) -> bool
fn needs_db_reconnect(&self) -> bool
Forwards a dropped-pool signal so the device-sync worker stops on
disconnect. BoxError wraps an opaque error we can’t introspect → false.
Source§impl RetryableError for SubscribeError
impl RetryableError for SubscribeError
fn is_retryable(&self) -> bool
Auto Trait Implementations§
impl Freeze for SubscribeError
impl !RefUnwindSafe for SubscribeError
impl Send for SubscribeError
impl Sync for SubscribeError
impl Unpin for SubscribeError
impl UnsafeUnpin for SubscribeError
impl !UnwindSafe for SubscribeError
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> ⓘ
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].Source§impl<TraitVariantBlanketType> LocalNeedsDbReconnect for TraitVariantBlanketTypewhere
TraitVariantBlanketType: NeedsDbReconnect,
impl<TraitVariantBlanketType> LocalNeedsDbReconnect for TraitVariantBlanketTypewhere
TraitVariantBlanketType: NeedsDbReconnect,
fn needs_db_reconnect(&self) -> bool
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more