diff --git a/aquatic/src/lib/config.rs b/aquatic/src/lib/config.rs index 8cded09..9c17621 100644 --- a/aquatic/src/lib/config.rs +++ b/aquatic/src/lib/config.rs @@ -15,6 +15,7 @@ pub struct Config { #[derive(Clone)] pub struct NetworkConfig { pub address: SocketAddr, + pub peer_announce_interval: i32, pub recv_buffer_size: usize, pub poll_event_capacity: usize, } @@ -52,6 +53,7 @@ impl Default for NetworkConfig { fn default() -> Self { Self { address: SocketAddr::from(([127, 0, 0, 1], 3000)), + peer_announce_interval: 60 * 15, poll_event_capacity: 4096, recv_buffer_size: 4096 * 128, } diff --git a/aquatic/src/lib/handlers.rs b/aquatic/src/lib/handlers.rs index db2a9f4..0ecc166 100644 --- a/aquatic/src/lib/handlers.rs +++ b/aquatic/src/lib/handlers.rs @@ -115,7 +115,7 @@ pub fn handle_announce_requests( let response = Response::Announce(AnnounceResponse { transaction_id: request.transaction_id, - announce_interval: AnnounceInterval(600), // FIXME + announce_interval: AnnounceInterval(config.network.peer_announce_interval), // FIXME leechers: NumberOfPeers(torrent_data.num_leechers.load(Ordering::SeqCst) as i32), seeders: NumberOfPeers(torrent_data.num_seeders.load(Ordering::SeqCst) as i32), peers: response_peers