pub struct ProcessError {
pub channel_id: Option<ChannelId>,
pub source: Error,
}Expand description
Error returned by DeRecProtocol::process.
Wraps the underlying crate::Error with the channel_id extracted from
the inbound message envelope, so consumers always know which channel
produced the error.
channel_id is None only when the envelope itself could not be decoded
(i.e. the raw bytes are not a valid protobuf DeRecMessage).
Fields§
§channel_id: Option<ChannelId>The channel that produced the error, if the envelope was decodable.
source: ErrorThe underlying error.
Implementations§
Source§impl ProcessError
impl ProcessError
Sourcepub fn as_non_ok_status(&self) -> Option<(i32, &str)>
pub fn as_non_ok_status(&self) -> Option<(i32, &str)>
Convenience: extract (status, memo) if the underlying error is a
NonOkStatus from any primitive.
Trait Implementations§
Source§impl Debug for ProcessError
impl Debug for ProcessError
Source§impl Display for ProcessError
impl Display for ProcessError
Source§impl Error for ProcessError
impl Error for ProcessError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for ProcessError
impl !UnwindSafe for ProcessError
impl Freeze for ProcessError
impl Send for ProcessError
impl Sync for ProcessError
impl Unpin for ProcessError
impl UnsafeUnpin for ProcessError
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
Converts
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>
Converts
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