guts_p2p/error.rs
1//! P2P error types.
2
3use thiserror::Error;
4
5/// Errors that can occur in P2P operations.
6#[derive(Debug, Error)]
7pub enum P2PError {
8 /// Message encoding/decoding error.
9 #[error("codec error: {0}")]
10 Codec(String),
11
12 /// Network error.
13 #[error("network error: {0}")]
14 Network(String),
15
16 /// Storage error.
17 #[error("storage error: {0}")]
18 Storage(#[from] guts_storage::StorageError),
19
20 /// Invalid message.
21 #[error("invalid message: {0}")]
22 InvalidMessage(String),
23
24 /// Repository not found.
25 #[error("repository not found: {0}")]
26 RepoNotFound(String),
27
28 /// Channel closed.
29 #[error("channel closed")]
30 ChannelClosed,
31}