Skip to content

Commit 57d884d

Browse files
committed
refactor: [torrust#1401] add config option to enable/disable tracker usage stats per server
It does not have any effect yet.
1 parent cce6b61 commit 57d884d

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

packages/configuration/src/v2_0_0/core.rs

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ impl Core {
103103
fn default_tracker_policy() -> TrackerPolicy {
104104
TrackerPolicy::default()
105105
}
106+
106107
fn default_tracker_usage_statistics() -> bool {
107108
true
108109
}

packages/configuration/src/v2_0_0/http_tracker.rs

+9
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,18 @@ pub struct HttpTracker {
1919
/// TSL config.
2020
#[serde(default = "HttpTracker::default_tsl_config")]
2121
pub tsl_config: Option<TslConfig>,
22+
23+
/// Weather the tracker should collect statistics about tracker usage.
24+
#[serde(default = "HttpTracker::default_tracker_usage_statistics")]
25+
pub tracker_usage_statistics: bool,
2226
}
2327

2428
impl Default for HttpTracker {
2529
fn default() -> Self {
2630
Self {
2731
bind_address: Self::default_bind_address(),
2832
tsl_config: Self::default_tsl_config(),
33+
tracker_usage_statistics: Self::default_tracker_usage_statistics(),
2934
}
3035
}
3136
}
@@ -38,4 +43,8 @@ impl HttpTracker {
3843
fn default_tsl_config() -> Option<TslConfig> {
3944
None
4045
}
46+
47+
fn default_tracker_usage_statistics() -> bool {
48+
false
49+
}
4150
}

packages/configuration/src/v2_0_0/udp_tracker.rs

+9
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,17 @@ pub struct UdpTracker {
1616
/// the client as the `ConnectionId`.
1717
#[serde(default = "UdpTracker::default_cookie_lifetime")]
1818
pub cookie_lifetime: Duration,
19+
20+
/// Weather the tracker should collect statistics about tracker usage.
21+
#[serde(default = "UdpTracker::default_tracker_usage_statistics")]
22+
pub tracker_usage_statistics: bool,
1923
}
2024
impl Default for UdpTracker {
2125
fn default() -> Self {
2226
Self {
2327
bind_address: Self::default_bind_address(),
2428
cookie_lifetime: Self::default_cookie_lifetime(),
29+
tracker_usage_statistics: Self::default_tracker_usage_statistics(),
2530
}
2631
}
2732
}
@@ -34,4 +39,8 @@ impl UdpTracker {
3439
fn default_cookie_lifetime() -> Duration {
3540
Duration::from_secs(120)
3641
}
42+
43+
fn default_tracker_usage_statistics() -> bool {
44+
false
45+
}
3746
}

packages/test-helpers/src/configuration.rs

+2
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,15 @@ pub fn ephemeral() -> Configuration {
5555
config.udp_trackers = Some(vec![UdpTracker {
5656
bind_address: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), udp_port),
5757
cookie_lifetime: Duration::from_secs(120),
58+
tracker_usage_statistics: true,
5859
}]);
5960

6061
// Ephemeral socket address for HTTP tracker
6162
let http_port = 0u16;
6263
config.http_trackers = Some(vec![HttpTracker {
6364
bind_address: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), http_port),
6465
tsl_config: None,
66+
tracker_usage_statistics: true,
6567
}]);
6668

6769
let temp_file = ephemeral_sqlite_database();

0 commit comments

Comments
 (0)