pub enum McpErrorCode {
Transient,
RateLimited,
InvalidInput,
AuthFailure,
ServerError,
NotFound,
PolicyBlocked,
}Expand description
Typed error code for MCP tool call retry and recovery classification.
Used by McpError::code and callers such as the agent retry loop to decide
whether an operation should be retried, backed off, or abandoned.
Variants§
Transient
Transient error: retry is likely to succeed.
RateLimited
Rate limited: back off and retry.
InvalidInput
Invalid input: do not retry without changing parameters.
AuthFailure
Auth failure: re-authenticate or escalate.
ServerError
Server error: may be transient, retry with backoff.
NotFound
Not found: resource or tool does not exist.
PolicyBlocked
Blocked by policy rules.
Implementations§
Source§impl McpErrorCode
impl McpErrorCode
Sourcepub fn is_retryable(self) -> bool
pub fn is_retryable(self) -> bool
Whether this error code suggests the operation can be retried.
Trait Implementations§
Source§impl Clone for McpErrorCode
impl Clone for McpErrorCode
Source§fn clone(&self) -> McpErrorCode
fn clone(&self) -> McpErrorCode
Returns a duplicate 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 McpErrorCode
impl Debug for McpErrorCode
Source§impl<'de> Deserialize<'de> for McpErrorCode
impl<'de> Deserialize<'de> for McpErrorCode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for McpErrorCode
impl PartialEq for McpErrorCode
Source§impl Serialize for McpErrorCode
impl Serialize for McpErrorCode
impl Copy for McpErrorCode
impl Eq for McpErrorCode
impl StructuralPartialEq for McpErrorCode
Auto Trait Implementations§
impl Freeze for McpErrorCode
impl RefUnwindSafe for McpErrorCode
impl Send for McpErrorCode
impl Sync for McpErrorCode
impl Unpin for McpErrorCode
impl UnsafeUnpin for McpErrorCode
impl UnwindSafe for McpErrorCode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request