#[non_exhaustive]pub enum RuntimeError {
InvalidSpec(String),
OperationTimeout {
route_id: String,
component_id: String,
operation: &'static str,
step: i64,
timeout: Duration,
},
RouteCancelled {
route_id: String,
step: i64,
reason: String,
},
EnvRpc {
operation: &'static str,
step: i64,
message: String,
recoverable: bool,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
},
ModelRpc {
component_id: String,
message: String,
recoverable: bool,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
},
ModelRouteMismatch {
component_id: String,
request_id: String,
},
Protocol(String),
Hook(HookError),
}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.
InvalidSpec(String)
OperationTimeout
RouteCancelled
EnvRpc
Fields
ModelRpc
Fields
ModelRouteMismatch
Protocol(String)
Hook(HookError)
Implementations§
Source§impl RuntimeError
impl RuntimeError
pub fn operation_timeout( route_id: impl Into<String>, component_id: impl Into<String>, operation: &'static str, step: i64, timeout: Duration, ) -> Self
pub fn route_cancelled( route_id: impl Into<String>, step: i64, reason: impl Into<String>, ) -> Self
Sourcepub fn env_rpc<E>(operation: &'static str, step: i64, source: E) -> Self
pub fn env_rpc<E>(operation: &'static str, step: i64, source: E) -> Self
Constructs an EnvRpc error, capturing the underlying
error’s recoverability and preserving it as a structured #[source].
Sourcepub fn env_rpc_with_recoverability<E>(
operation: &'static str,
step: i64,
recoverable: bool,
source: E,
) -> Self
pub fn env_rpc_with_recoverability<E>( operation: &'static str, step: i64, recoverable: bool, source: E, ) -> Self
Constructs an EnvRpc error with an explicit
recoverability flag (e.g. from GrpcError::is_recoverable), preserving
the structured source.
Sourcepub fn model_rpc<E>(component_id: impl Into<String>, source: E) -> Self
pub fn model_rpc<E>(component_id: impl Into<String>, source: E) -> Self
Constructs a ModelRpc error, preserving the
structured source. Recoverability defaults to false.
Sourcepub fn model_rpc_with_recoverability<E>(
component_id: impl Into<String>,
recoverable: bool,
source: E,
) -> Self
pub fn model_rpc_with_recoverability<E>( component_id: impl Into<String>, recoverable: bool, source: E, ) -> Self
Constructs a ModelRpc error with an explicit
recoverability flag, preserving the structured source.
Sourcepub fn is_recoverable(&self) -> bool
pub fn is_recoverable(&self) -> bool
Whether this error is recoverable (retryable).
For RPC failures this reflects the recoverability captured from the underlying transport error at construction. All other variants are treated as non-recoverable.
Trait Implementations§
Source§impl Debug for RuntimeError
impl Debug for RuntimeError
Source§impl Display for RuntimeError
impl Display for RuntimeError
Source§impl Error for RuntimeError
impl Error for RuntimeError
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 RuntimeError
impl !UnwindSafe for RuntimeError
impl Freeze for RuntimeError
impl Send for RuntimeError
impl Sync for RuntimeError
impl Unpin for RuntimeError
impl UnsafeUnpin for RuntimeError
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> 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