pub enum ErrorKind {
Show 18 variants
Http,
Json,
Url,
Request,
Response,
Provider,
ProviderResponse,
Tool(ToolErrorKind),
MemoryBackend,
MemoryPolicy,
Internal,
Cancelled,
Timeout,
BusClosed,
HandlerUnavailable,
Divergence,
Denied,
Other,
}Expand description
Normalized classification of an ErrorReport.
Variants§
Http
A transport failure that produced no provider reply: a reset
connection, a timeout, a protocol error, an unreadable response. It
never carries a status; a reply the server made, whatever its status,
is Self::ProviderResponse.
Json
JSON serialization or deserialization failed.
Url
A URL could not be parsed.
Request
The request could not be built.
Response
The response could not be parsed.
Provider
The provider reported a failure without a preserved raw response.
ProviderResponse
The provider replied and its raw response was preserved: a non-2xx status with a body, a 2xx error envelope, or a non-HTTP transport’s error payload. Status, body, request id and headers are on the report.
Tool(ToolErrorKind)
A tool failed; the inner kind is the tool’s own classification.
MemoryBackend
A conversation-memory backend failed.
MemoryPolicy
A conversation-memory policy or filter rejected the history.
Internal
An internal invariant was violated.
Cancelled
The operation was cancelled.
Timeout
The operation exceeded its deadline.
BusClosed
The effect bus’s driver is gone: the owner dropped it, so nothing can serve a dispatch. A lifecycle event; never retryable on the same bus.
No handler serves the requested key and effect family on the live bus. The message identifies the key.
Divergence
Replay requested a different effect or exhausted the log. The run fails without retry rather than inventing a recorded answer.
Denied
Policy denied dispatch before handler execution. Not retryable under the same policy; distinct from program cancellation.
Other
Anything else.
Implementations§
Trait Implementations§
impl Copy for ErrorKind
Source§impl<'de> Deserialize<'de> for ErrorKind
impl<'de> Deserialize<'de> for ErrorKind
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>,
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnsafeUnpin for ErrorKind
impl UnwindSafe for ErrorKind
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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> ⓘ
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