pub enum Error {
AuthenticationFailed(String),
RateLimit {
retry_after_secs: u64,
},
NotFound(String),
Validation(String),
Server {
status: u16,
message: String,
},
Network(Error),
Serialization(Error),
Config(String),
CircuitOpen {
cooldown_secs: u64,
},
}Variants§
AuthenticationFailed(String)
RateLimit
NotFound(String)
Validation(String)
Server
Network(Error)
Serialization(Error)
Config(String)
CircuitOpen
Implementations§
Source§impl Error
impl Error
Sourcepub fn is_transient(&self) -> bool
pub fn is_transient(&self) -> bool
Whether this error is transient and the operation should be retried.
Sourcepub fn is_swallowable(&self) -> bool
pub fn is_swallowable(&self) -> bool
Whether this error should be swallowed (fail-open) by an LLM wrapper.
Transient infrastructure failures (rate limits, network blips, 5xx responses, open circuit breaker, malformed-server-JSON) should not break a chat turn — the model can answer without memory and try again next call. Caller-side errors (auth, validation, config, missing resource) are NOT swallowable — the caller must fix them, retrying won’t help.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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 Error
impl !UnwindSafe for Error
impl Freeze for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§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.