pub enum ResourceLimitError {
Show 13 variants
RequestTooLarge {
size: usize,
limit: usize,
exceeded_by: usize,
},
StringTooLarge {
size: usize,
limit: usize,
},
ArrayTooLarge {
size: usize,
limit: usize,
},
JsonTooDeep {
depth: usize,
limit: usize,
},
ResponseTooLarge {
estimated_size: usize,
limit: usize,
},
TooManyResults {
count: usize,
limit: usize,
},
RateLimitExceeded {
client_id: String,
burst: usize,
rate: usize,
},
CacheMemoryExceeded {
current: usize,
limit: usize,
needed: usize,
},
GlobalConcurrencyExceeded {
limit: usize,
},
ClientConcurrencyExceeded {
client_id: String,
limit: usize,
},
ToolConcurrencyExceeded {
tool_name: String,
limit: usize,
},
OperationTimeout {
tool_name: String,
timeout_ms: u64,
},
SemaphoreClosed,
}Expand description
Resource limit enforcement error.
Represents various types of resource limit violations with actionable error messages and context.
Variants§
RequestTooLarge
Request size exceeds configured limit.
Fields
StringTooLarge
String parameter exceeds size limit.
ArrayTooLarge
Array element count exceeds limit.
JsonTooDeep
JSON object nesting depth exceeds limit.
ResponseTooLarge
Response size exceeds configured limit.
Fields
TooManyResults
Result count exceeds configured limit.
RateLimitExceeded
Rate limit exceeded for a specific client.
Fields
CacheMemoryExceeded
Cache memory usage exceeds limit.
Fields
GlobalConcurrencyExceeded
Global concurrency limit exceeded.
ClientConcurrencyExceeded
Per-client concurrency limit exceeded.
Fields
ToolConcurrencyExceeded
Per-tool concurrency limit exceeded.
Fields
OperationTimeout
Operation execution timeout.
Fields
SemaphoreClosed
Semaphore closed unexpectedly.
Implementations§
Source§impl ResourceLimitError
impl ResourceLimitError
Sourcepub fn error_code(&self) -> i32
pub fn error_code(&self) -> i32
Get the JSON-RPC error code for this resource limit error.
Trait Implementations§
Source§impl Debug for ResourceLimitError
impl Debug for ResourceLimitError
Source§impl Display for ResourceLimitError
impl Display for ResourceLimitError
Source§impl Error for ResourceLimitError
impl Error for ResourceLimitError
1.30.0 · 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<ResourceLimitError> for McpError
impl From<ResourceLimitError> for McpError
Source§fn from(err: ResourceLimitError) -> Self
fn from(err: ResourceLimitError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ResourceLimitError
impl RefUnwindSafe for ResourceLimitError
impl Send for ResourceLimitError
impl Sync for ResourceLimitError
impl Unpin for ResourceLimitError
impl UnwindSafe for ResourceLimitError
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> 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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.