#[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>),
Shutdown(Box<dyn StdError + Send + Sync>),
RequestTimeout,
Closed {
subject: String,
},
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, publish acknowledgement, ack).
Shutdown(Box<dyn StdError + Send + Sync>)
Draining the connection during
shutdown failed.
RequestTimeout
A request / reply operation timed out before a reply was received.
Closed
A publisher aliasing the connection was used after the broker shut down.
The lifecycle ladder makes misuse through the owner’s handle a compile error:
ConnectedBroker::shutdown consumes the connected
broker. Publishers paired off it earlier keep aliasing the closed connection, so their
operations report this instead of silently succeeding against a dead connection.
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()