@@ -25,7 +25,6 @@ use crate::container::AppContainer;
25
25
use crate :: core:: databases:: Database ;
26
26
use crate :: core:: services:: { initialize_database, initialize_whitelist, statistics, tracker_factory} ;
27
27
use crate :: core:: whitelist:: WhiteListManager ;
28
- use crate :: core:: Tracker ;
29
28
use crate :: servers:: udp:: server:: banning:: BanService ;
30
29
use crate :: servers:: udp:: server:: launcher:: MAX_CONNECTION_ID_ERRORS_PER_IP ;
31
30
use crate :: shared:: crypto:: ephemeral_instance_keys;
@@ -82,10 +81,10 @@ pub fn initialize_app_container(configuration: &Configuration) -> AppContainer {
82
81
let ( stats_event_sender, stats_repository) = statistics:: setup:: factory ( configuration. core . tracker_usage_statistics ) ;
83
82
let stats_event_sender = Arc :: new ( stats_event_sender) ;
84
83
let stats_repository = Arc :: new ( stats_repository) ;
85
-
86
84
let ban_service = Arc :: new ( RwLock :: new ( BanService :: new ( MAX_CONNECTION_ID_ERRORS_PER_IP ) ) ) ;
87
-
88
- let tracker = Arc :: new ( initialize_tracker ( configuration) ) ;
85
+ let database = initialize_database ( configuration) ;
86
+ let whitelist_manager = initialize_whitelist ( database. clone ( ) ) ;
87
+ let tracker = Arc :: new ( tracker_factory ( configuration, & database, & whitelist_manager) ) ;
89
88
90
89
AppContainer {
91
90
tracker,
@@ -116,18 +115,6 @@ pub fn initialize_static() {
116
115
lazy_static:: initialize ( & ephemeral_instance_keys:: ZEROED_TEST_CIPHER_BLOWFISH ) ;
117
116
}
118
117
119
- /// It builds the domain tracker
120
- ///
121
- /// The tracker is the domain layer service. It's the entrypoint to make requests to the domain layer.
122
- /// It's used by other higher-level components like the UDP and HTTP trackers or the tracker API.
123
- #[ must_use]
124
- #[ instrument( skip( config) ) ]
125
- pub fn initialize_tracker ( config : & Configuration ) -> Tracker {
126
- let ( database, whitelist_manager) = initialize_tracker_dependencies ( config) ;
127
-
128
- tracker_factory ( config, & database, & whitelist_manager)
129
- }
130
-
131
118
#[ allow( clippy:: type_complexity) ]
132
119
#[ must_use]
133
120
pub fn initialize_tracker_dependencies ( config : & Configuration ) -> ( Arc < Box < dyn Database > > , Arc < WhiteListManager > ) {
0 commit comments