Skip to main content

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    #[error("{0}")]
24    Other(String),
25}
26
27pub type Result<T> = std::result::Result<T, DHTError>;