Skip to main content

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}