#[non_exhaustive]pub enum NatsError {
Connect(Box<dyn StdError + Send + Sync>),
Publish(Box<dyn StdError + Send + Sync>),
Subscribe(Box<dyn StdError + Send + Sync>),
JetStream(Box<dyn StdError + Send + Sync>),
RequestTimeout,
NotConnected,
InvalidOptions(String),
}Expand description
Errors surfaced by the NATS broker implementation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Connect(Box<dyn StdError + Send + Sync>)
Failed to establish or use the underlying async-nats connection.
Publish(Box<dyn StdError + Send + Sync>)
Failed to publish a message to the broker.
Subscribe(Box<dyn StdError + Send + Sync>)
Failed to subscribe to the requested subject.
JetStream(Box<dyn StdError + Send + Sync>)
JetStream-specific operation failed (consumer creation, ack, etc.).
RequestTimeout
A request / reply operation timed out before a reply was received.
NotConnected
An operation needing a live connection ran before crate::NatsBroker was connected.
A broker built with NatsBroker::new connects lazily: the runtime
calls Broker::connect at startup. Publishing or subscribing
before that returns this error.
InvalidOptions(String)
The supplied crate::SubscribeOptions combine fields in a way the broker cannot honour
(for example durable(_) without jetstream(_), or queue_group(_) together with
jetstream(_)).
Trait Implementations§
Source§impl Error for NatsError
impl Error for NatsError
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()