torrust_tracker/console/clients/udp/
mod.rs1use std::net::SocketAddr;
2
3use aquatic_udp_protocol::Response;
4use serde::Serialize;
5use thiserror::Error;
6
7use crate::shared::bit_torrent::tracker::udp;
8
9pub mod app;
10pub mod checker;
11pub mod responses;
12
13#[derive(Error, Debug, Clone, Serialize)]
14#[serde(into = "String")]
15pub enum Error {
16 #[error("Failed to Connect to: {remote_addr}, with error: {err}")]
17 UnableToBindAndConnect { remote_addr: SocketAddr, err: udp::Error },
18
19 #[error("Failed to send a connection request, with error: {err}")]
20 UnableToSendConnectionRequest { err: udp::Error },
21
22 #[error("Failed to receive a connect response, with error: {err}")]
23 UnableToReceiveConnectResponse { err: udp::Error },
24
25 #[error("Failed to send a announce request, with error: {err}")]
26 UnableToSendAnnounceRequest { err: udp::Error },
27
28 #[error("Failed to receive a announce response, with error: {err}")]
29 UnableToReceiveAnnounceResponse { err: udp::Error },
30
31 #[error("Failed to send a scrape request, with error: {err}")]
32 UnableToSendScrapeRequest { err: udp::Error },
33
34 #[error("Failed to receive a scrape response, with error: {err}")]
35 UnableToReceiveScrapeResponse { err: udp::Error },
36
37 #[error("Failed to receive a response, with error: {err}")]
38 UnableToReceiveResponse { err: udp::Error },
39
40 #[error("Failed to get local address for connection: {err}")]
41 UnableToGetLocalAddr { err: udp::Error },
42
43 #[error("Failed to get a connection response: {response:?}")]
44 UnexpectedConnectionResponse { response: Response },
45}
46
47impl From<Error> for String {
48 fn from(value: Error) -> Self {
49 value.to_string()
50 }
51}