Skip to content

Commit f71ca54

Browse files
committed
dev: remove announce_request wrapper
1 parent 2aef245 commit f71ca54

File tree

4 files changed

+11
-47
lines changed

4 files changed

+11
-47
lines changed

src/servers/udp/handlers.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ use crate::core::{statistics, ScrapeData, Tracker};
2222
use crate::servers::udp::error::Error;
2323
use crate::servers::udp::logging::{log_bad_request, log_error_response, log_request, log_response};
2424
use crate::servers::udp::peer_builder;
25-
use crate::servers::udp::request::AnnounceWrapper;
2625
use crate::shared::bit_torrent::common::MAX_SCRAPE_TORRENTS;
2726

2827
/// It handles the incoming UDP packets.
@@ -152,17 +151,15 @@ pub async fn handle_announce(
152151

153152
check(&remote_addr, &from_connection_id(&announce_request.connection_id))?;
154153

155-
let wrapped_announce_request = AnnounceWrapper::new(announce_request);
156-
157-
let info_hash = wrapped_announce_request.info_hash;
154+
let info_hash = InfoHash(announce_request.info_hash.0);
158155
let remote_client_ip = remote_addr.ip();
159156

160157
// Authorization
161158
tracker.authorize(&info_hash).await.map_err(|e| Error::TrackerError {
162159
source: (Arc::new(e) as Arc<dyn std::error::Error + Send + Sync>).into(),
163160
})?;
164161

165-
let mut peer = peer_builder::from_request(&wrapped_announce_request, &remote_client_ip);
162+
let mut peer = peer_builder::from_request(announce_request, &remote_client_ip);
166163

167164
let response = tracker.announce(&info_hash, &mut peer, &remote_client_ip);
168165

@@ -179,7 +176,7 @@ pub async fn handle_announce(
179176
if remote_addr.is_ipv4() {
180177
let announce_response = AnnounceResponse {
181178
fixed: AnnounceResponseFixedData {
182-
transaction_id: wrapped_announce_request.announce_request.transaction_id,
179+
transaction_id: announce_request.transaction_id,
183180
announce_interval: AnnounceInterval(I32::new(i64::from(tracker.get_announce_policy().interval) as i32)),
184181
leechers: NumberOfPeers(I32::new(i64::from(response.stats.incomplete) as i32)),
185182
seeders: NumberOfPeers(I32::new(i64::from(response.stats.complete) as i32)),
@@ -206,7 +203,7 @@ pub async fn handle_announce(
206203
} else {
207204
let announce_response = AnnounceResponse {
208205
fixed: AnnounceResponseFixedData {
209-
transaction_id: wrapped_announce_request.announce_request.transaction_id,
206+
transaction_id: announce_request.transaction_id,
210207
announce_interval: AnnounceInterval(I32::new(i64::from(tracker.get_announce_policy().interval) as i32)),
211208
leechers: NumberOfPeers(I32::new(i64::from(response.stats.incomplete) as i32)),
212209
seeders: NumberOfPeers(I32::new(i64::from(response.stats.complete) as i32)),

src/servers/udp/mod.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@
6161
//! UDP packet -> Aquatic Struct Request -> [Torrust Struct Request] -> Tracker -> Aquatic Struct Response -> UDP packet
6262
//! ```
6363
//!
64-
//! For the `Announce` request there is a wrapper struct [`AnnounceWrapper`](crate::servers::udp::request::AnnounceWrapper).
65-
//! It was added to add an extra field with the internal [`InfoHash`](torrust_tracker_primitives::info_hash::InfoHash) struct.
66-
//!
6764
//! ### Connect
6865
//!
6966
//! `Connect` requests are used to get a connection ID which must be provided on
@@ -646,7 +643,6 @@ pub mod error;
646643
pub mod handlers;
647644
pub mod logging;
648645
pub mod peer_builder;
649-
pub mod request;
650646
pub mod server;
651647

652648
pub const UDP_TRACKER_LOG_TARGET: &str = "UDP TRACKER";

src/servers/udp/peer_builder.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use torrust_tracker_clock::clock::Time;
55
use torrust_tracker_primitives::announce_event::AnnounceEvent;
66
use torrust_tracker_primitives::{peer, NumberOfBytes};
77

8-
use super::request::AnnounceWrapper;
98
use crate::CurrentClock;
109

1110
/// Extracts the [`peer::Peer`] info from the
@@ -16,21 +15,21 @@ use crate::CurrentClock;
1615
/// * `announce_wrapper` - The announce request to extract the peer info from.
1716
/// * `peer_ip` - The real IP address of the peer, not the one in the announce request.
1817
#[must_use]
19-
pub fn from_request(announce_wrapper: &AnnounceWrapper, peer_ip: &IpAddr) -> peer::Peer {
20-
let announce_event = match aquatic_udp_protocol::AnnounceEvent::from(announce_wrapper.announce_request.event) {
18+
pub fn from_request(announce_request: &aquatic_udp_protocol::AnnounceRequest, peer_ip: &IpAddr) -> peer::Peer {
19+
let announce_event = match aquatic_udp_protocol::AnnounceEvent::from(announce_request.event) {
2120
aquatic_udp_protocol::AnnounceEvent::Started => AnnounceEvent::Started,
2221
aquatic_udp_protocol::AnnounceEvent::Stopped => AnnounceEvent::Stopped,
2322
aquatic_udp_protocol::AnnounceEvent::Completed => AnnounceEvent::Completed,
2423
aquatic_udp_protocol::AnnounceEvent::None => AnnounceEvent::None,
2524
};
2625

2726
peer::Peer {
28-
peer_id: peer::Id(announce_wrapper.announce_request.peer_id.0),
29-
peer_addr: SocketAddr::new(*peer_ip, announce_wrapper.announce_request.port.0.into()),
27+
peer_id: peer::Id(announce_request.peer_id.0),
28+
peer_addr: SocketAddr::new(*peer_ip, announce_request.port.0.into()),
3029
updated: CurrentClock::now(),
31-
uploaded: NumberOfBytes(announce_wrapper.announce_request.bytes_uploaded.0.into()),
32-
downloaded: NumberOfBytes(announce_wrapper.announce_request.bytes_downloaded.0.into()),
33-
left: NumberOfBytes(announce_wrapper.announce_request.bytes_left.0.into()),
30+
uploaded: NumberOfBytes(announce_request.bytes_uploaded.0.into()),
31+
downloaded: NumberOfBytes(announce_request.bytes_downloaded.0.into()),
32+
left: NumberOfBytes(announce_request.bytes_left.0.into()),
3433
event: announce_event,
3534
}
3635
}

src/servers/udp/request.rs

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)