Trackers list from outside

This commit is contained in:
Igor Katson 2025-02-27 12:55:10 +00:00
parent d709557372
commit 52be6d7cef
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
3 changed files with 15 additions and 5 deletions

View file

@ -98,7 +98,9 @@ tracing-subscriber = { version = "0.3", default-features = false, features = [
], optional = true }
uuid = { version = "1.2", features = ["v4"] }
futures = "0.3"
url = { version = "=2.5.2", default-features = false } # can't upgrade yet until min version is Rust 1.81, see https://github.com/servo/rust-url/issues/992
url = { version = "=2.5.2", default-features = false, features = [
"serde",
] } # can't upgrade yet until min version is Rust 1.81, see https://github.com/servo/rust-url/issues/992
hex = "0.4"
backoff = "0.4.0"
@ -119,7 +121,7 @@ notify = { version = "7", optional = true }
walkdir = "2.5.0"
arc-swap = "1.7.1"
intervaltree = "0.2.7"
async-compression = {version="0.4.18", features= ["tokio", "gzip"] }
async-compression = { version = "0.4.18", features = ["tokio", "gzip"] }
[build-dependencies]
anyhow = "1"

View file

@ -121,6 +121,7 @@ pub struct Session {
default_storage_factory: Option<BoxStorageFactory>,
persistence: Option<Arc<dyn SessionPersistenceStore>>,
disk_write_tx: Option<DiskWorkQueueSender>,
trackers: HashSet<url::Url>,
// Limits and throttling
pub(crate) concurrent_initialize_semaphore: Arc<tokio::sync::Semaphore>,
@ -647,6 +648,7 @@ impl Session {
opts.concurrent_init_limit.unwrap_or(3),
)),
ratelimits: Limits::new(opts.ratelimits),
trackers: opts.trackers,
#[cfg(feature = "disable-upload")]
_disable_upload: opts.disable_upload,
blocklist,
@ -1337,6 +1339,8 @@ impl Session {
if is_private && trackers.len() > 1 {
warn!("private trackers are not fully implemented, so using only the first tracker");
trackers.truncate(1);
} else {
trackers.extend(self.trackers.iter().cloned());
}
let tracker_rx_stats = PeerRxTorrentInfo {