use thiserror::Error;
#[derive(Debug, Error)]
pub enum P2PError {
#[error("codec error: {0}")]
Codec(String),
#[error("network error: {0}")]
Network(String),
#[error("storage error: {0}")]
Storage(#[from] guts_storage::StorageError),
#[error("invalid message: {0}")]
InvalidMessage(String),
#[error("repository not found: {0}")]
RepoNotFound(String),
#[error("channel closed")]
ChannelClosed,
}