moonpool_transport/
error.rs1use crate::UID;
4
5#[derive(Debug, thiserror::Error)]
7pub enum MessagingError {
8 #[error("endpoint not found: {token}")]
10 EndpointNotFound {
11 token: UID,
13 },
14
15 #[error("deserialization failed: {message}")]
17 DeserializationFailed {
18 message: String,
20 },
21
22 #[error("serialization failed: {message}")]
24 SerializationFailed {
25 message: String,
27 },
28
29 #[error("peer error: {message}")]
31 PeerError {
32 message: String,
34 },
35
36 #[error("queue full: capacity {capacity}")]
38 QueueFull {
39 capacity: usize,
41 },
42
43 #[error("invalid well-known token: {index} (max: {max})")]
45 InvalidWellKnownToken {
46 index: u32,
48 max: usize,
50 },
51
52 #[error("transport closed")]
54 TransportClosed,
55
56 #[error("invalid state: {message}")]
58 InvalidState {
59 message: String,
61 },
62
63 #[error("network error: {message}")]
65 NetworkError {
66 message: String,
68 },
69}
70
71impl From<serde_json::Error> for MessagingError {
72 fn from(err: serde_json::Error) -> Self {
73 MessagingError::DeserializationFailed {
74 message: err.to_string(),
75 }
76 }
77}
78
79impl From<crate::PeerError> for MessagingError {
80 fn from(err: crate::PeerError) -> Self {
81 MessagingError::PeerError {
82 message: err.to_string(),
83 }
84 }
85}