#[non_exhaustive]pub enum ProtoError {
Shutdown(ShutdownError),
InvalidRequest(InvalidRequestError),
RequestIdInUse,
RequestCompleted,
DuplicateWait,
CouldNotEncode(Arc<Error>),
InternalRequestFailed(UnexpectedReply),
}
Expand description
An error that has occurred while launching an RPC command.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Shutdown(ShutdownError)
The RPC connection failed, or was closed by the other side.
InvalidRequest(InvalidRequestError)
There was a problem in the request we tried to send.
RequestIdInUse
We tried to send a request with an ID that was already pending.
RequestCompleted
We tried to wait for or inspect a request that had already succeeded or failed.
DuplicateWait
We tried to wait for the same request more than once.
(This should be impossible.)
CouldNotEncode(Arc<Error>)
We got an internal error while trying to encode an RPC request.
(This should be impossible.)
InternalRequestFailed(UnexpectedReply)
We got a response to some internally generated request that wasn’t what we expected.
Trait Implementations§
Source§impl Clone for ProtoError
impl Clone for ProtoError
Source§fn clone(&self) -> ProtoError
fn clone(&self) -> ProtoError
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ProtoError
impl Debug for ProtoError
Source§impl Display for ProtoError
impl Display for ProtoError
Source§impl Error for ProtoError
impl Error for ProtoError
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()
Source§impl From<InvalidRequestError> for ProtoError
impl From<InvalidRequestError> for ProtoError
Source§fn from(source: InvalidRequestError) -> Self
fn from(source: InvalidRequestError) -> Self
Converts to this type from the input type.
Source§impl From<ProtoError> for ConnectError
impl From<ProtoError> for ConnectError
Source§fn from(source: ProtoError) -> Self
fn from(source: ProtoError) -> Self
Converts to this type from the input type.
Source§impl From<ProtoError> for StreamError
impl From<ProtoError> for StreamError
Source§fn from(source: ProtoError) -> Self
fn from(source: ProtoError) -> Self
Converts to this type from the input type.
Source§impl HasClientErrorAction for ProtoError
impl HasClientErrorAction for ProtoError
Source§fn client_action(&self) -> ClientErrorAction
fn client_action(&self) -> ClientErrorAction
Return the action that an RPC client should take based on this error.
Auto Trait Implementations§
impl Freeze for ProtoError
impl !RefUnwindSafe for ProtoError
impl Send for ProtoError
impl Sync for ProtoError
impl Unpin for ProtoError
impl !UnwindSafe for ProtoError
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<E> ErrorReport for Ewhere
E: Error + 'static,
impl<E> ErrorReport for Ewhere
E: Error + 'static,
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
Return an object that displays the error and its causes
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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