Skip to content

Commit 60ed2e4

Browse files
committed
refactor: [#1411] remove duplicate code for UdpTrackerServerServices initialization
1 parent 4c7feb5 commit 60ed2e4

2 files changed

Lines changed: 23 additions & 22 deletions

File tree

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,23 @@ pub struct UdpTrackerServerContainer {
1010
}
1111

1212
impl UdpTrackerServerContainer {
13+
#[must_use]
14+
pub fn initialize(core_config: &Arc<Core>) -> Arc<Self> {
15+
let udp_tracker_server_services = UdpTrackerServerServices::initialize(core_config);
16+
17+
Arc::new(Self {
18+
udp_server_stats_event_sender: udp_tracker_server_services.udp_server_stats_event_sender.clone(),
19+
udp_server_stats_repository: udp_tracker_server_services.udp_server_stats_repository.clone(),
20+
})
21+
}
22+
}
23+
24+
pub struct UdpTrackerServerServices {
25+
pub udp_server_stats_event_sender: Arc<Option<Box<dyn event::sender::Sender>>>,
26+
pub udp_server_stats_repository: Arc<statistics::repository::Repository>,
27+
}
28+
29+
impl UdpTrackerServerServices {
1330
#[must_use]
1431
pub fn initialize(core_config: &Arc<Core>) -> Arc<Self> {
1532
let (udp_server_stats_event_sender, udp_server_stats_repository) =

src/container.rs

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,12 @@ pub enum Error {
2121
}
2222

2323
pub struct AppContainer {
24-
pub tracker_core_container: Arc<TrackerCoreContainer>,
2524
pub http_api_config: Arc<Option<HttpApi>>,
25+
26+
pub tracker_core_container: Arc<TrackerCoreContainer>,
2627
pub http_tracker_core_services: Arc<HttpTrackerCoreServices>,
2728
pub udp_tracker_core_services: Arc<UdpTrackerCoreServices>,
2829

29-
// UDP Tracker Server Services
30-
pub udp_server_stats_event_sender: Arc<Option<Box<dyn torrust_udp_tracker_server::event::sender::Sender>>>,
31-
pub udp_server_stats_repository: Arc<torrust_udp_tracker_server::statistics::repository::Repository>,
32-
3330
// UDP Tracker Server Container
3431
pub udp_tracker_server_container: Arc<UdpTrackerServerContainer>,
3532

@@ -51,17 +48,7 @@ impl AppContainer {
5148

5249
let udp_tracker_core_services = UdpTrackerCoreServices::initialize_from(&tracker_core_container);
5350

54-
// UDP Tracker Server Services
55-
let (udp_server_stats_event_sender, udp_server_stats_repository) =
56-
torrust_udp_tracker_server::statistics::setup::factory(configuration.core.tracker_usage_statistics);
57-
let udp_server_stats_event_sender = Arc::new(udp_server_stats_event_sender);
58-
let udp_server_stats_repository = Arc::new(udp_server_stats_repository);
59-
60-
// UDP Tracker Server Container
61-
let udp_tracker_server_container = Arc::new(UdpTrackerServerContainer {
62-
udp_server_stats_event_sender: udp_server_stats_event_sender.clone(),
63-
udp_server_stats_repository: udp_server_stats_repository.clone(),
64-
});
51+
let udp_tracker_server_container = UdpTrackerServerContainer::initialize(&core_config);
6552

6653
// Tracker Instance Containers
6754

@@ -100,15 +87,12 @@ impl AppContainer {
10087
let udp_tracker_containers = Arc::new(udp_tracker_containers);
10188

10289
AppContainer {
103-
tracker_core_container,
10490
http_api_config,
91+
92+
tracker_core_container,
10593
http_tracker_core_services,
10694
udp_tracker_core_services,
10795

108-
// UDP Tracker Server Services
109-
udp_server_stats_event_sender,
110-
udp_server_stats_repository,
111-
11296
// UDP Tracker Server Container
11397
udp_tracker_server_container,
11498

@@ -153,7 +137,7 @@ impl AppContainer {
153137
ban_service: self.udp_tracker_core_services.udp_ban_service.clone(),
154138
http_stats_repository: self.http_tracker_core_services.http_stats_repository.clone(),
155139
udp_core_stats_repository: self.udp_tracker_core_services.udp_core_stats_repository.clone(),
156-
udp_server_stats_repository: self.udp_server_stats_repository.clone(),
140+
udp_server_stats_repository: self.udp_tracker_server_container.udp_server_stats_repository.clone(),
157141
}
158142
.into()
159143
}

0 commit comments

Comments
 (0)