moonpool_transport/
error.rs1use crate::UID;
4
5#[derive(Debug, Clone, thiserror::Error)]
7#[non_exhaustive]
8pub enum MessagingError {
9 #[error("endpoint not found: {token}")]
11 EndpointNotFound {
12 token: UID,
14 },
15
16 #[error("deserialization failed: {message}")]
18 DeserializationFailed {
19 message: String,
21 },
22
23 #[error("serialization failed: {message}")]
25 SerializationFailed {
26 message: String,
28 },
29
30 #[error("peer error: {message}")]
32 PeerError {
33 message: String,
35 },
36
37 #[error("invalid well-known token: {index} (max: {max})")]
39 InvalidWellKnownToken {
40 index: u32,
42 max: usize,
44 },
45
46 #[error("invalid state: {message}")]
48 InvalidState {
49 message: String,
51 },
52
53 #[error("network error: {message}")]
55 NetworkError {
56 message: String,
58 },
59
60 #[error("local_address is required - call .local_address(addr) before .build()")]
62 MissingLocalAddress,
63}
64
65impl From<serde_json::Error> for MessagingError {
66 fn from(err: serde_json::Error) -> Self {
67 MessagingError::DeserializationFailed {
68 message: err.to_string(),
69 }
70 }
71}
72
73impl From<crate::PeerError> for MessagingError {
74 fn from(err: crate::PeerError) -> Self {
75 MessagingError::PeerError {
76 message: err.to_string(),
77 }
78 }
79}