1#![allow(deprecated)]
2use crate::actr_ext::ActrError;
5use crate::name::NameError;
6
7#[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
50pub type ProtocolResult<T> = Result<T, ProtocolError>;
52
53pub type ActorResult<T> = Result<T, ProtocolError>;