Skip to content

Commit f5d8dc6

Browse files
committed
refactor: [#932] WIP. Add new core config options: private and listed
1 parent 2186809 commit f5d8dc6

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

packages/configuration/src/v1/core.rs

+18
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ pub struct Core {
2121
#[serde(default = "Core::default_inactive_peer_cleanup_interval")]
2222
pub inactive_peer_cleanup_interval: u64,
2323

24+
// Whe `true` only approved torrents can be announced in the tracker.
25+
#[serde(default = "Core::default_listed")]
26+
pub listed: bool,
27+
2428
/// Tracker mode. See [`TrackerMode`] for more information.
2529
#[serde(default = "Core::default_mode")]
2630
pub mode: TrackerMode,
@@ -29,6 +33,10 @@ pub struct Core {
2933
#[serde(default = "Core::default_network")]
3034
pub net: Network,
3135

36+
// Whe `true` clients require a key to connect and use the tracker.
37+
#[serde(default = "Core::default_private")]
38+
pub private: bool,
39+
3240
// Tracker policy configuration.
3341
#[serde(default = "Core::default_tracker_policy")]
3442
pub tracker_policy: TrackerPolicy,
@@ -48,8 +56,10 @@ impl Default for Core {
4856
announce_policy: Self::default_announce_policy(),
4957
database: Self::default_database(),
5058
inactive_peer_cleanup_interval: Self::default_inactive_peer_cleanup_interval(),
59+
listed: Self::default_listed(),
5160
mode: Self::default_mode(),
5261
net: Self::default_network(),
62+
private: Self::default_private(),
5363
tracker_policy: Self::default_tracker_policy(),
5464
tracker_usage_statistics: Self::default_tracker_usage_statistics(),
5565
}
@@ -69,6 +79,10 @@ impl Core {
6979
600
7080
}
7181

82+
fn default_listed() -> bool {
83+
false
84+
}
85+
7286
fn default_mode() -> TrackerMode {
7387
TrackerMode::Public
7488
}
@@ -77,6 +91,10 @@ impl Core {
7791
Network::default()
7892
}
7993

94+
fn default_private() -> bool {
95+
false
96+
}
97+
8098
fn default_tracker_policy() -> TrackerPolicy {
8199
TrackerPolicy::default()
82100
}

packages/configuration/src/v1/mod.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,10 @@ mod tests {
366366
367367
[core]
368368
mode = "public"
369-
tracker_usage_statistics = true
370369
inactive_peer_cleanup_interval = 600
370+
listed = false
371+
private = false
372+
tracker_usage_statistics = true
371373
372374
[core.tracker_policy]
373375
max_peer_timeout = 900

0 commit comments

Comments
 (0)