dht_crawler/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum DHTError {
5    #[error("网络错误: {0}")]
6    Network(#[from] std::io::Error),
7    
8    #[error("Bencode 解析错误: {0}")]
9    Bencode(String),
10    
11    #[error("协议错误: {0}")]
12    Protocol(String),
13    
14    #[error("超时")]
15    Timeout,
16    
17    #[error("未找到 Peer")]
18    NoPeersAvailable,
19    
20    #[error("元数据验证失败")]
21    InvalidMetadata,
22}
23
24pub type Result<T> = std::result::Result<T, DHTError>;