torrust_tracker/servers/udp/
peer_builder.rs1use std::net::{IpAddr, SocketAddr};
3
4use torrust_tracker_clock::clock::Time;
5use torrust_tracker_primitives::peer;
6
7use crate::CurrentClock;
8
9#[must_use]
16pub fn from_request(announce_request: &aquatic_udp_protocol::AnnounceRequest, peer_ip: &IpAddr) -> peer::Peer {
17 peer::Peer {
18 peer_id: announce_request.peer_id,
19 peer_addr: SocketAddr::new(*peer_ip, announce_request.port.0.into()),
20 updated: CurrentClock::now(),
21 uploaded: announce_request.bytes_uploaded,
22 downloaded: announce_request.bytes_downloaded,
23 left: announce_request.bytes_left,
24 event: announce_request.event.into(),
25 }
26}