pub enum BrokerV2Error {
Sid(SidError),
PipeName(PipePathError),
Dial {
socket_path: String,
source: Error,
},
Framing(FramingError),
Io(Error),
Decode(DecodeError),
MissingResult,
Refused {
reason: String,
retry_after_ms: u64,
details: Box<Refused>,
},
Encode(EncodeError),
}Expand description
Errors surfaced by connect.
Variants§
Sid(SidError)
user_sid_hash failed.
PipeName(PipePathError)
Building the v2 pipe name failed.
Dial
Dialing the v2 broker pipe failed (no listener, permission denied, …).
Framing(FramingError)
Framing-layer error on read or write (envelope version mismatch, truncated body, oversized frame, …).
Io(Error)
Underlying IO failure during Hello / HelloReply exchange.
Decode(DecodeError)
HelloReply payload failed to decode.
MissingResult
HelloReply was syntactically valid but missing its result oneof.
Refused
Broker explicitly refused the Hello (returned a Refused reply).
retry_after_ms is promoted from details.retry_after_ms to a
top-level field so RateLimited callers don’t have to thread the
boxed prost payload back out to honor broker-supplied backoff.
Matches the shape of v1’s BrokerClientError::Refused. Fixes
#518. details is kept so any future scalar / nested field in
the prost message stays accessible without another API break.
Fields
Encode(EncodeError)
Encoding the outbound Hello failed.
Trait Implementations§
Source§impl Debug for BrokerV2Error
impl Debug for BrokerV2Error
Source§impl Display for BrokerV2Error
impl Display for BrokerV2Error
Source§impl Error for BrokerV2Error
impl Error for BrokerV2Error
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<DecodeError> for BrokerV2Error
impl From<DecodeError> for BrokerV2Error
Source§fn from(source: DecodeError) -> Self
fn from(source: DecodeError) -> Self
Source§impl From<EncodeError> for BrokerV2Error
impl From<EncodeError> for BrokerV2Error
Source§fn from(source: EncodeError) -> Self
fn from(source: EncodeError) -> Self
Source§impl From<Error> for BrokerV2Error
impl From<Error> for BrokerV2Error
Source§impl From<FramingError> for BrokerV2Error
impl From<FramingError> for BrokerV2Error
Source§fn from(source: FramingError) -> Self
fn from(source: FramingError) -> Self
Source§impl From<PipePathError> for BrokerV2Error
impl From<PipePathError> for BrokerV2Error
Source§fn from(source: PipePathError) -> Self
fn from(source: PipePathError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for BrokerV2Error
impl !UnwindSafe for BrokerV2Error
impl Freeze for BrokerV2Error
impl Send for BrokerV2Error
impl Sync for BrokerV2Error
impl Unpin for BrokerV2Error
impl UnsafeUnpin for BrokerV2Error
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