pub enum BrokerClientError {
BrokerConnect(Error),
BackendConnect(Error),
Framing(FramingError),
DecodeFrame(DecodeError),
DecodeHelloReply(DecodeError),
DecodeAdminReply(DecodeError),
UnexpectedResponseFrame(&'static str),
MissingHelloReplyResult,
Refused {
code: ErrorCode,
reason: String,
retry_after_ms: u64,
},
EmptyBackendPipe,
}Expand description
Errors produced by broker client helpers.
Variants§
BrokerConnect(Error)
Could not connect to the broker.
BackendConnect(Error)
Broker negotiation succeeded but the returned backend endpoint failed.
Framing(FramingError)
Frame read/write failed.
DecodeFrame(DecodeError)
Broker response frame was malformed.
DecodeHelloReply(DecodeError)
Broker response payload was not a valid HelloReply.
DecodeAdminReply(DecodeError)
Broker response payload was not a valid AdminReply.
UnexpectedResponseFrame(&'static str)
Broker returned an unexpected response envelope.
MissingHelloReplyResult
Broker returned HelloReply without a result.
Refused
Broker refused the Hello request.
Fields
EmptyBackendPipe
Broker returned an empty backend endpoint.
Implementations§
Source§impl BrokerClientError
impl BrokerClientError
Sourcepub fn refusal_kind(&self) -> Option<RefusalKind>
pub fn refusal_kind(&self) -> Option<RefusalKind>
Classify a broker refusal into a stable, matchable kind (#433 R7).
Returns Some only for BrokerClientError::Refused; every other
(transport/decoding) error returns None. Consumers branch on
RefusalKind instead of pattern-matching the raw i32
ErrorCode, so retry/escalate decisions stay readable and survive
the addition of future codes (mapped to RefusalKind::Other).
Trait Implementations§
Source§impl Debug for BrokerClientError
impl Debug for BrokerClientError
Source§impl Display for BrokerClientError
impl Display for BrokerClientError
Source§impl Error for BrokerClientError
impl Error for BrokerClientError
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 From<BrokerClientError> for AdoptError
impl From<BrokerClientError> for AdoptError
Source§fn from(source: BrokerClientError) -> Self
fn from(source: BrokerClientError) -> Self
Source§impl From<FramingError> for BrokerClientError
impl From<FramingError> for BrokerClientError
Source§fn from(source: FramingError) -> Self
fn from(source: FramingError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for BrokerClientError
impl !UnwindSafe for BrokerClientError
impl Freeze for BrokerClientError
impl Send for BrokerClientError
impl Sync for BrokerClientError
impl Unpin for BrokerClientError
impl UnsafeUnpin for BrokerClientError
Blanket Implementations§
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
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>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<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>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
&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)
&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> DowncastSync for T
impl<T> DowncastSync for T
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