actr_protocol/
error.rs

1#![allow(deprecated)]
2//! Error types for Actor-RTC protocol
3
4use crate::actr_ext::ActrError;
5use crate::name::NameError;
6
7/// Protocol-level errors primarily related to data structure and format validity.
8#[derive(Debug, thiserror::Error)]
9pub enum ProtocolError {
10    #[error("Actor identity error: {0}")]
11    Actr(#[from] ActrError),
12
13    #[error("URI parsing error: {0}")]
14    Uri(#[from] crate::uri::ActrUriError),
15
16    #[error("Invalid name: {0}")]
17    Name(#[from] NameError),
18
19    #[error("Serialization error: {0}")]
20    SerializationError(String),
21
22    #[error("Deserialization error: {0}")]
23    DeserializationError(String),
24
25    #[error("Decode error: {0}")]
26    DecodeError(String),
27
28    #[error("Encode error: {0}")]
29    EncodeError(String),
30
31    #[error("Unknown route: {0}")]
32    UnknownRoute(String),
33
34    #[error("Transport error: {0}")]
35    TransportError(String),
36
37    #[error("Timeout")]
38    Timeout,
39
40    #[error("Target not found: {0}")]
41    TargetNotFound(String),
42
43    #[error("Target unavailable: {0}")]
44    TargetUnavailable(String),
45
46    #[error("Invalid state transition: {0}")]
47    InvalidStateTransition(String),
48}
49
50/// Convenient result type for protocol operations
51pub type ProtocolResult<T> = Result<T, ProtocolError>;
52
53/// Actor result type - commonly used in framework and runtime
54pub type ActorResult<T> = Result<T, ProtocolError>;