Skip to content

Commit a660be8

Browse files
committed
refactor: [#1478] inline factory fn in udp server stats
1 parent 8e8b1dd commit a660be8

9 files changed

Lines changed: 46 additions & 68 deletions

File tree

packages/rest-tracker-api-core/src/statistics/services.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,8 @@ mod tests {
162162
let _unused = run_event_listener(http_stats_keeper.receiver(), &http_stats_repository);
163163
}
164164

165-
// UDP core stats (not used in this test)
166-
167165
// UDP server stats
168-
let (_udp_server_stats_keeper, udp_server_stats_repository) =
169-
torrust_udp_tracker_server::statistics::setup::factory(config.core.tracker_usage_statistics);
166+
let udp_server_stats_repository = Arc::new(torrust_udp_tracker_server::statistics::repository::Repository::new());
170167

171168
let tracker_metrics = get_metrics(
172169
in_memory_torrent_repository.clone(),

packages/udp-tracker-server/src/container.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ use std::sync::Arc;
22

33
use torrust_tracker_configuration::Core;
44

5-
use crate::{event, statistics};
5+
use crate::event::sender::Broadcaster;
6+
use crate::event::{self};
7+
use crate::statistics;
8+
use crate::statistics::keeper::Keeper;
9+
use crate::statistics::repository::Repository;
610

711
pub struct UdpTrackerServerContainer {
812
pub stats_keeper: Arc<statistics::keeper::Keeper>,
@@ -32,8 +36,13 @@ pub struct UdpTrackerServerServices {
3236
impl UdpTrackerServerServices {
3337
#[must_use]
3438
pub fn initialize(core_config: &Arc<Core>) -> Arc<Self> {
35-
let (udp_server_stats_keeper, udp_server_stats_repository) =
36-
statistics::setup::factory(core_config.tracker_usage_statistics);
39+
let udp_server_broadcaster = Broadcaster::default();
40+
let udp_server_stats_repository = Arc::new(Repository::new());
41+
let udp_server_stats_keeper = Arc::new(Keeper::new(
42+
core_config.tracker_usage_statistics,
43+
udp_server_broadcaster.clone(),
44+
));
45+
3746
let udp_server_stats_event_sender = udp_server_stats_keeper.sender();
3847

3948
Arc::new(Self {

packages/udp-tracker-server/src/handlers/announce.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,9 @@ mod tests {
374374
core_tracker_services: Arc<CoreTrackerServices>,
375375
core_udp_tracker_services: Arc<CoreUdpTrackerServices>,
376376
) -> Response {
377-
let (keeper, _repository) = crate::statistics::setup::factory(false);
377+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
378+
let keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
379+
378380
let udp_server_stats_event_sender = keeper.sender();
379381

380382
let client_socket_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(126, 0, 0, 1)), 8080);
@@ -712,7 +714,9 @@ mod tests {
712714
let core_keeper = Arc::new(Keeper::new(false, udp_core_broadcaster.clone()));
713715
let udp_core_stats_event_sender = core_keeper.sender();
714716

715-
let (server_keeper, _server_repository) = crate::statistics::setup::factory(false);
717+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
718+
let server_keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
719+
716720
let udp_server_stats_event_sender = server_keeper.sender();
717721

718722
let client_ip_v4 = Ipv4Addr::new(126, 0, 0, 1);

packages/udp-tracker-server/src/handlers/connect.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ mod tests {
8787
let core_keeper = Arc::new(Keeper::new(false, udp_core_broadcaster.clone()));
8888
let udp_core_stats_event_sender = core_keeper.sender();
8989

90-
let (server_keeper, _server_repository) = crate::statistics::setup::factory(false);
90+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
91+
let server_keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
92+
9193
let udp_server_stats_event_sender = server_keeper.sender();
9294

9395
let request = ConnectRequest {
@@ -124,7 +126,9 @@ mod tests {
124126
let core_keeper = Arc::new(Keeper::new(false, udp_core_broadcaster.clone()));
125127
let udp_core_stats_event_sender = core_keeper.sender();
126128

127-
let (server_keeper, _server_repository) = crate::statistics::setup::factory(false);
129+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
130+
let server_keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
131+
128132
let udp_server_stats_event_sender = server_keeper.sender();
129133

130134
let request = ConnectRequest {
@@ -162,7 +166,9 @@ mod tests {
162166

163167
let udp_core_stats_event_sender = core_keeper.sender();
164168

165-
let (server_keeper, _server_repository) = crate::statistics::setup::factory(false);
169+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
170+
let server_keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
171+
166172
let udp_server_stats_event_sender = server_keeper.sender();
167173

168174
let request = ConnectRequest {

packages/udp-tracker-server/src/handlers/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,6 @@ pub(crate) mod tests {
231231
use torrust_tracker_primitives::{peer, DurationSinceUnixEpoch};
232232
use torrust_tracker_test_helpers::configuration;
233233

234-
use crate::statistics::repository::Repository;
235234
use crate::{event as server_event, CurrentClock};
236235

237236
pub(crate) struct CoreTrackerServices {
@@ -288,11 +287,12 @@ pub(crate) mod tests {
288287
let scrape_handler = Arc::new(ScrapeHandler::new(&whitelist_authorization, &in_memory_torrent_repository));
289288

290289
let udp_core_broadcaster = Broadcaster::default();
291-
let _core_repository = Arc::new(Repository::new());
292290
let core_keeper = Arc::new(Keeper::new(false, udp_core_broadcaster.clone()));
293291
let udp_core_stats_event_sender = core_keeper.sender();
294292

295-
let (server_keeper, _server_repository) = crate::statistics::setup::factory(false);
293+
let udp_server_broadcaster = crate::event::sender::Broadcaster::default();
294+
let server_keeper = Arc::new(crate::statistics::keeper::Keeper::new(false, udp_server_broadcaster.clone()));
295+
296296
let udp_server_stats_event_sender = server_keeper.sender();
297297

298298
let announce_service = Arc::new(AnnounceService::new(

packages/udp-tracker-server/src/handlers/scrape.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,13 @@ mod tests {
9494
use bittorrent_udp_tracker_core::connection_cookie::{gen_remote_fingerprint, make};
9595
use torrust_tracker_primitives::service_binding::{Protocol, ServiceBinding};
9696

97+
use crate::event::sender::Broadcaster;
9798
use crate::handlers::handle_scrape;
9899
use crate::handlers::tests::{
99100
initialize_core_tracker_services_for_public_tracker, sample_cookie_valid_range, sample_ipv4_remote_addr,
100101
sample_issue_time, CoreTrackerServices, CoreUdpTrackerServices, TorrentPeerBuilder,
101102
};
103+
use crate::statistics::keeper::Keeper;
102104

103105
fn zeroed_torrent_statistics() -> TorrentScrapeStatistics {
104106
TorrentScrapeStatistics {
@@ -178,7 +180,9 @@ mod tests {
178180
core_tracker_services: Arc<CoreTrackerServices>,
179181
core_udp_tracker_services: Arc<CoreUdpTrackerServices>,
180182
) -> Response {
181-
let (keeper, _repository) = crate::statistics::setup::factory(false);
183+
let udp_server_broadcaster = Broadcaster::default();
184+
let keeper = Arc::new(Keeper::new(false, udp_server_broadcaster.clone()));
185+
182186
let udp_server_stats_event_sender = keeper.sender();
183187

184188
let client_socket_addr = sample_ipv4_remote_addr();

packages/udp-tracker-server/src/statistics/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ pub mod keeper;
33
pub mod metrics;
44
pub mod repository;
55
pub mod services;
6-
pub mod setup;
76

87
use metrics::Metrics;
98
use torrust_tracker_metrics::metric::description::MetricDescription;

packages/udp-tracker-server/src/statistics/services.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,11 @@ mod tests {
113113
use torrust_tracker_primitives::swarm_metadata::AggregateSwarmMetadata;
114114
use torrust_tracker_test_helpers::configuration;
115115

116+
use crate::event::sender::Broadcaster;
117+
use crate::statistics::describe_metrics;
118+
use crate::statistics::keeper::Keeper;
119+
use crate::statistics::repository::Repository;
116120
use crate::statistics::services::{get_metrics, TrackerMetrics};
117-
use crate::statistics::{self, describe_metrics};
118121

119122
pub fn tracker_configuration() -> Configuration {
120123
configuration::ephemeral()
@@ -127,7 +130,12 @@ mod tests {
127130
let in_memory_torrent_repository = Arc::new(InMemoryTorrentRepository::default());
128131
let ban_service = Arc::new(RwLock::new(BanService::new(MAX_CONNECTION_ID_ERRORS_PER_IP)));
129132

130-
let (_keeper, stats_repository) = statistics::setup::factory(config.core.tracker_usage_statistics);
133+
let udp_server_broadcaster = Broadcaster::default();
134+
let stats_repository = Arc::new(Repository::new());
135+
let _keeper = Arc::new(Keeper::new(
136+
config.core.tracker_usage_statistics,
137+
udp_server_broadcaster.clone(),
138+
));
131139

132140
let tracker_metrics = get_metrics(
133141
in_memory_torrent_repository.clone(),

packages/udp-tracker-server/src/statistics/setup.rs

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

0 commit comments

Comments
 (0)