pub enum RuntimeError {
Workflow(WorkflowError),
Build(BuildErrors),
Backend(BackendError),
Codec(CodecError),
Task(BoxError),
Join(JoinError),
InstanceAlreadyExists(String),
}Expand description
Typed error for the sayiir runtime layer.
Replaces BoxError in internal runtime APIs, keeping BoxError only at
true user boundaries (codec traits, user task callbacks).
Variants§
Workflow(WorkflowError)
Workflow logic error (cancellation, definition mismatch, task not found, etc.)
Build(BuildErrors)
Build/hydration errors (duplicate IDs, missing tasks, empty branches).
Backend(BackendError)
Persistent backend error (storage failures).
Codec(CodecError)
Codec encode/decode error (schema mismatch, serialization failure).
Task(BoxError)
User task execution error (opaque — from user-provided code).
Join(JoinError)
Tokio task join error (branch spawn failures).
InstanceAlreadyExists(String)
A workflow instance with this ID already exists (conflict policy = Fail).
Implementations§
Source§impl RuntimeError
impl RuntimeError
Sourcepub fn is_timeout(&self) -> bool
pub fn is_timeout(&self) -> bool
Returns true if this error is a TaskTimedOut workflow error.
Sourcepub fn is_decode_error(&self) -> bool
pub fn is_decode_error(&self) -> bool
Returns true if this error is a codec decode failure (schema mismatch).
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)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<BackendError> for RuntimeError
impl From<BackendError> for RuntimeError
Source§fn from(source: BackendError) -> Self
fn from(source: BackendError) -> Self
Source§impl From<BuildError> for RuntimeError
impl From<BuildError> for RuntimeError
Source§fn from(error: BuildError) -> Self
fn from(error: BuildError) -> Self
Source§impl From<BuildErrors> for RuntimeError
impl From<BuildErrors> for RuntimeError
Source§fn from(source: BuildErrors) -> Self
fn from(source: BuildErrors) -> Self
Source§impl From<CodecError> for RuntimeError
impl From<CodecError> for RuntimeError
Source§fn from(source: CodecError) -> Self
fn from(source: CodecError) -> Self
Source§impl From<JoinError> for RuntimeError
impl From<JoinError> for RuntimeError
Source§impl From<WorkflowError> for RuntimeError
impl From<WorkflowError> for RuntimeError
Source§fn from(source: WorkflowError) -> Self
fn from(source: WorkflowError) -> Self
Auto Trait Implementations§
impl Freeze for RuntimeError
impl !RefUnwindSafe for RuntimeError
impl Send for RuntimeError
impl Sync for RuntimeError
impl Unpin for RuntimeError
impl UnsafeUnpin for RuntimeError
impl !UnwindSafe for RuntimeError
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
T in a tonic::RequestSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.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.