pub enum ChannelError {
NotFound(ChannelId),
InvalidState {
from: String,
to: String,
},
ParentNotFound(ChannelId),
AlreadyExists(ChannelId),
}Expand description
Channel layer error.
Represents failures within the Channel management layer.
Implements ErrorCode for standardized error handling.
§Example
use orcs_runtime::ChannelError;
use orcs_types::{ChannelId, ErrorCode};
fn handle_error(err: ChannelError) {
match err.code() {
"CHANNEL_NOT_FOUND" => eprintln!("Channel missing"),
"CHANNEL_INVALID_STATE" => eprintln!("State error"),
_ => eprintln!("Other error: {err}"),
}
}Variants§
NotFound(ChannelId)
The specified channel does not exist.
This typically occurs when:
- Querying a channel that was never created
- Accessing a channel that was killed
InvalidState
Attempted an invalid state transition.
Channel state transitions are strict:
- Only
Running→Completedis allowed viacomplete() - Only
Running→Abortedis allowed viaabort() - Terminal states cannot transition further
ParentNotFound(ChannelId)
The parent channel for a spawn operation does not exist.
When spawning a child channel, the specified parent must exist.
AlreadyExists(ChannelId)
A channel with this ID already exists.
Channel IDs are UUIDs and should be globally unique. This error indicates a potential bug or UUID collision.
Trait Implementations§
Source§impl Clone for ChannelError
impl Clone for ChannelError
Source§fn clone(&self) -> ChannelError
fn clone(&self) -> ChannelError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ChannelError
impl Debug for ChannelError
Source§impl Display for ChannelError
impl Display for ChannelError
Source§impl Error for ChannelError
impl Error for ChannelError
1.30.0 · 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 Freeze for ChannelError
impl RefUnwindSafe for ChannelError
impl Send for ChannelError
impl Sync for ChannelError
impl Unpin for ChannelError
impl UnsafeUnpin for ChannelError
impl UnwindSafe for ChannelError
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