@@ -4,14 +4,12 @@ use std::sync::Arc;
4
4
use bittorrent_primitives:: info_hash:: InfoHash ;
5
5
use tokio:: sync:: RwLock ;
6
6
use torrust_tracker_configuration:: { Configuration , UdpTracker , DEFAULT_TIMEOUT } ;
7
- use torrust_tracker_lib:: bootstrap:: app:: initialize_global_services;
8
- use torrust_tracker_lib:: core:: services:: { initialize_database, initialize_tracker, initialize_whitelist, statistics} ;
7
+ use torrust_tracker_lib:: bootstrap:: app:: { initialize_app_container, initialize_global_services} ;
9
8
use torrust_tracker_lib:: core:: statistics:: event:: sender:: Sender ;
10
9
use torrust_tracker_lib:: core:: statistics:: repository:: Repository ;
11
10
use torrust_tracker_lib:: core:: Tracker ;
12
11
use torrust_tracker_lib:: servers:: registar:: Registar ;
13
12
use torrust_tracker_lib:: servers:: udp:: server:: banning:: BanService ;
14
- use torrust_tracker_lib:: servers:: udp:: server:: launcher:: MAX_CONNECTION_ID_ERRORS_PER_IP ;
15
13
use torrust_tracker_lib:: servers:: udp:: server:: spawner:: Spawner ;
16
14
use torrust_tracker_lib:: servers:: udp:: server:: states:: { Running , Stopped } ;
17
15
use torrust_tracker_lib:: servers:: udp:: server:: Server ;
44
42
impl Environment < Stopped > {
45
43
#[ allow( dead_code) ]
46
44
pub fn new ( configuration : & Arc < Configuration > ) -> Self {
47
- let ( stats_event_sender, stats_repository) = statistics:: setup:: factory ( configuration. core . tracker_usage_statistics ) ;
48
- let stats_event_sender = Arc :: new ( stats_event_sender) ;
49
- let stats_repository = Arc :: new ( stats_repository) ;
50
- let ban_service = Arc :: new ( RwLock :: new ( BanService :: new ( MAX_CONNECTION_ID_ERRORS_PER_IP ) ) ) ;
51
-
52
45
initialize_global_services ( configuration) ;
53
46
54
- let database = initialize_database ( configuration) ;
55
- let whitelist_manager = initialize_whitelist ( database. clone ( ) ) ;
56
- let tracker = Arc :: new ( initialize_tracker ( configuration, & database, & whitelist_manager) ) ;
47
+ let app_container = initialize_app_container ( configuration) ;
57
48
58
49
let udp_tracker = configuration. udp_trackers . clone ( ) . expect ( "missing UDP tracker configuration" ) ;
59
50
@@ -65,10 +56,10 @@ impl Environment<Stopped> {
65
56
66
57
Self {
67
58
config,
68
- tracker,
69
- stats_event_sender,
70
- stats_repository,
71
- ban_service,
59
+ tracker : app_container . tracker . clone ( ) ,
60
+ stats_event_sender : app_container . stats_event_sender . clone ( ) ,
61
+ stats_repository : app_container . stats_repository . clone ( ) ,
62
+ ban_service : app_container . ban_service . clone ( ) ,
72
63
registar : Registar :: default ( ) ,
73
64
server,
74
65
}
0 commit comments