blueprint_networking/
error.rs1#[derive(Debug, thiserror::Error)]
2pub enum Error {
3 #[error("Network error: {0}")]
4 NetworkError(String),
5
6 #[error("Channel error: {0}")]
7 ChannelError(String),
8
9 #[error("Gossip error: {0}")]
10 GossipError(String),
11
12 #[error("Messaging error: {0}")]
13 MessagingError(String),
14
15 #[error("Round based error: {0}")]
16 RoundBasedError(String),
17
18 #[error("Serde JSON error: {0}")]
19 SerdeJson(#[from] serde_json::Error),
20
21 #[error("Connection error: {0}")]
22 ConnectionError(String),
23
24 #[error("Protocol error: {0}")]
25 ProtocolError(String),
26
27 #[error("Attempted to start a network with too many topics: {0}")]
28 TooManyTopics(usize),
29 #[error("All topics must be unique")]
30 DuplicateTopics,
31
32 #[error("No network found")]
33 NoNetworkFound,
34
35 #[error("Kademlia is not activated")]
36 KademliaNotActivated,
37
38 #[error("Other error: {0}")]
39 Other(String),
40
41 #[error(transparent)]
43 Io(#[from] std::io::Error),
44
45 #[error(transparent)]
47 InvalidProtocol(#[from] libp2p::swarm::InvalidProtocol),
48
49 #[error(transparent)]
50 NoKnownPeers(#[from] libp2p::kad::NoKnownPeers),
51
52 #[error(transparent)]
53 Dial(#[from] libp2p::swarm::DialError),
54
55 #[error(transparent)]
56 Noise(#[from] libp2p::noise::Error),
57
58 #[error(transparent)]
59 Behaviour(#[from] libp2p::BehaviourBuilderError),
60
61 #[error(transparent)]
62 Subscription(#[from] libp2p::gossipsub::SubscriptionError),
63
64 #[error(transparent)]
65 TransportIo(#[from] libp2p::TransportError<std::io::Error>),
66
67 #[error(transparent)]
68 Multiaddr(#[from] libp2p::multiaddr::Error),
69
70 #[error(transparent)]
71 TokioSendError(#[from] tokio::sync::mpsc::error::SendError<String>),
72
73 #[error(transparent)]
74 CrossbeamSendError(#[from] crossbeam_channel::SendError<String>),
75}