Skip to content

Commit 7dc2402

Browse files
committed
dev: switch to new settings implementation.
1 parent 77888cd commit 7dc2402

File tree

16 files changed

+137
-416
lines changed

16 files changed

+137
-416
lines changed

src/api/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ pub fn start(socket_addr: SocketAddr, tracker: Arc<TorrentTracker>) -> impl warp
349349
.or(reload_keys),
350350
);
351351

352-
let server = api_routes.and(authenticate(tracker.config.http_api.access_tokens.clone()));
352+
let server = api_routes.and(authenticate(tracker.settings.http_api.access_tokens.clone()));
353353

354354
let (_addr, api_server) = serve(server).bind_with_graceful_shutdown(socket_addr, async move {
355355
tokio::signal::ctrl_c().await.expect("Failed to listen to shutdown signal.");

src/config.rs

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

src/http/handlers.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::collections::HashMap;
22
use std::convert::Infallible;
33
use std::net::IpAddr;
4+
use std::str::FromStr;
45
use std::sync::Arc;
56

67
use log::debug;
@@ -53,16 +54,22 @@ pub async fn handle_announce(
5354

5455
debug!("{:?}", announce_request);
5556

56-
let peer =
57-
TorrentPeer::from_http_announce_request(&announce_request, announce_request.peer_addr, tracker.config.get_ext_ip());
57+
let peer = TorrentPeer::from_http_announce_request(
58+
&announce_request,
59+
announce_request.peer_addr,
60+
match &tracker.settings.external_ip {
61+
Some(ip) => IpAddr::from_str(&ip).map_or(None, |ip| Some(ip)),
62+
None => None,
63+
},
64+
);
5865
let torrent_stats = tracker
5966
.update_torrent_with_peer_and_get_stats(&announce_request.info_hash, &peer)
6067
.await;
6168

6269
// get all torrent peers excluding the peer_addr
6370
let peers = tracker.get_torrent_peers(&announce_request.info_hash, &peer.peer_addr).await;
6471

65-
let announce_interval = tracker.config.announce_interval;
72+
let announce_interval = tracker.settings.announce_interval;
6673

6774
// send stats event
6875
match announce_request.peer_addr {
@@ -79,7 +86,7 @@ pub async fn handle_announce(
7986
torrent_stats,
8087
peers,
8188
announce_interval,
82-
tracker.config.min_announce_interval,
89+
tracker.settings.min_announce_interval,
8390
)
8491
}
8592

src/http/routes.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub fn routes(tracker: Arc<TorrentTracker>) -> impl Filter<Extract = impl warp::
1717
fn announce(tracker: Arc<TorrentTracker>) -> impl Filter<Extract = impl warp::Reply, Error = Rejection> + Clone {
1818
warp::path::path("announce")
1919
.and(warp::filters::method::get())
20-
.and(with_announce_request(tracker.config.on_reverse_proxy))
20+
.and(with_announce_request(tracker.settings.on_reverse_proxy))
2121
.and(with_auth_key())
2222
.and(with_tracker(tracker))
2323
.and_then(handle_announce)
@@ -27,7 +27,7 @@ fn announce(tracker: Arc<TorrentTracker>) -> impl Filter<Extract = impl warp::Re
2727
fn scrape(tracker: Arc<TorrentTracker>) -> impl Filter<Extract = impl warp::Reply, Error = Rejection> + Clone {
2828
warp::path::path("scrape")
2929
.and(warp::filters::method::get())
30-
.and(with_scrape_request(tracker.config.on_reverse_proxy))
30+
.and(with_scrape_request(tracker.settings.on_reverse_proxy))
3131
.and(with_auth_key())
3232
.and(with_tracker(tracker))
3333
.and_then(handle_scrape)

src/jobs/http_tracker.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ use std::sync::Arc;
44
use log::{info, warn};
55
use tokio::task::JoinHandle;
66

7-
use crate::config::HttpTrackerConfig;
7+
use crate::settings::HttpTrackerConfig;
88
use crate::tracker::tracker::TorrentTracker;
99
use crate::HttpServer;
1010

11-
pub fn start_job(config: &HttpTrackerConfig, tracker: Arc<TorrentTracker>) -> JoinHandle<()> {
12-
let bind_addr = config.bind_address.parse::<SocketAddr>().unwrap();
13-
let ssl_enabled = config.ssl_enabled;
14-
let ssl_cert_path = config.ssl_cert_path.clone();
15-
let ssl_key_path = config.ssl_key_path.clone();
11+
pub fn start_job(settings: &HttpTrackerConfig, tracker: Arc<TorrentTracker>) -> JoinHandle<()> {
12+
let bind_addr = settings.bind_address.parse::<SocketAddr>().unwrap();
13+
let ssl_enabled = settings.ssl_enabled;
14+
let ssl_cert_path = settings.ssl_cert_path.clone();
15+
let ssl_key_path = settings.ssl_key_path.clone();
1616

1717
tokio::spawn(async move {
1818
let http_tracker = HttpServer::new(tracker);

src/jobs/torrent_cleanup.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ use chrono::Utc;
44
use log::info;
55
use tokio::task::JoinHandle;
66

7-
use crate::config::Configuration;
7+
use crate::settings::Settings;
88
use crate::tracker::tracker::TorrentTracker;
99

10-
pub fn start_job(config: &Configuration, tracker: Arc<TorrentTracker>) -> JoinHandle<()> {
10+
pub fn start_job(settings: &Settings, tracker: Arc<TorrentTracker>) -> JoinHandle<()> {
1111
let weak_tracker = std::sync::Arc::downgrade(&tracker);
12-
let interval = config.inactive_peer_cleanup_interval;
12+
let interval = settings.inactive_peer_cleanup_interval;
1313

1414
tokio::spawn(async move {
1515
let interval = std::time::Duration::from_secs(interval);

0 commit comments

Comments
 (0)