Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error {
Show 14 variants Connection { message: String, kind: TransportErrorKind, source: Option<Box<dyn Error + Send + Sync>>, }, Request { message: String, code: Option<String>, status: u16, request: Option<Box<RequestMetadata>>, }, Server { message: String, code: Option<String>, status: u16, request: Option<Box<RequestMetadata>>, }, InputTooLong { message: String, model: Option<String>, request: Option<Box<RequestMetadata>>, }, ModelLoadFailed { message: String, model: Option<String>, error_class: ModelLoadErrorClass, permanent: bool, attempts: u32, request: Option<Box<RequestMetadata>>, }, ResourceExhausted { message: String, model: Option<String>, retries: u32, request: Option<Box<RequestMetadata>>, }, EstimateUnroutable { message: String, code: Option<String>, request: Option<Box<RequestMetadata>>, }, Provisioning { message: String, gpu: Option<String>, retry_after: Option<Duration>, }, ModelLoading { message: String, model: Option<String>, }, LoraLoading { message: String, lora: Option<String>, model: Option<String>, }, Pool { message: String, pool_name: Option<String>, state: Option<String>, }, Decode(String), InvalidRequest(String), Io(Error),
}
Expand description

Everything that can go wrong talking to a SIE server.

The variant fields are the failure’s evidence: message is what the server said, code is its error code, status the HTTP status, and request the metering metadata that survived. Read them through the accessors when you only need one.

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.
§

Connection

The request never produced an HTTP response.

Fields

§message: String
§source: Option<Box<dyn Error + Send + Sync>>
§

Request

A 4xx the SDK does not model more specifically.

Fields

§message: String
§status: u16
§

Server

A 5xx the SDK does not model more specifically.

Fields

§message: String
§status: u16
§

InputTooLong

The input exceeded the model’s context window (400 INPUT_TOO_LONG).

Fields

§message: String
§

ModelLoadFailed

The worker could not load the model (502 MODEL_LOAD_FAILED).

Fields

§message: String
§permanent: bool

false only for cooldown-suppressed OOM/network failures, which may succeed later.

§attempts: u32
§

ResourceExhausted

The server ran out of device memory and the SDK exhausted its retries.

Fields

§message: String
§retries: u32
§

EstimateUnroutable

/v1/estimate could not route the request to a rate identity.

Fields

§message: String
§

Provisioning

No capacity, and either the caller opted out of waiting or the budget ran out.

Fields

§message: String
§retry_after: Option<Duration>
§

ModelLoading

The model was still loading when the provision budget expired.

Fields

§message: String
§

LoraLoading

A LoRA adapter was still loading after the retry cap.

Fields

§message: String
§

Pool

A pool operation failed.

Fields

§message: String
§pool_name: Option<String>
§

Decode(String)

A response body could not be decoded as the documented shape.

§

InvalidRequest(String)

The caller supplied arguments the SDK rejects before sending anything.

§

Io(Error)

Local I/O failed (reading a file to upload, for example).

Implementations§

Source§

impl Error

Source

pub fn status(&self) -> Option<u16>

HTTP status that produced this error, when there was a response.

Source

pub fn code(&self) -> Option<&str>

Server error code (X-SIE-Error-Code or the body’s code field).

Source

pub fn request_metadata(&self) -> Option<&RequestMetadata>

Metadata the server attached to the failing request, when any survived parsing.

Source

pub fn retry_after(&self) -> Option<Duration>

The server’s Retry-After hint, when it sent one and the SDK gave up anyway.

Source

pub fn is_server_error(&self) -> bool

True for every failure the server attributed to itself (5xx family).

Source

pub fn is_request_error(&self) -> bool

True for every failure the server attributed to the request (4xx family).

Source

pub fn is_capacity_error(&self) -> bool

True when the SDK gave up waiting for capacity rather than hitting a hard failure.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more