@@ -57,14 +57,12 @@ impl TrackerStatistics {
5757} 
5858
5959pub  struct  StatsTracker  { 
60-     channel_sender :  Option < Sender < TrackerStatisticsEvent > > , 
6160    pub  stats :  Arc < RwLock < TrackerStatistics > > , 
6261} 
6362
6463impl  StatsTracker  { 
6564    pub  fn  new_active_instance ( )  -> ( Self ,  Box < dyn  TrackerStatisticsEventSender > )  { 
6665        let  mut  stats_tracker = Self  { 
67-             channel_sender :  None , 
6866            stats :  Arc :: new ( RwLock :: new ( TrackerStatistics :: new ( ) ) ) , 
6967        } ; 
7068
@@ -75,7 +73,6 @@ impl StatsTracker {
7573
7674    pub  fn  new_inactive_instance ( )  -> Self  { 
7775        Self  { 
78-             channel_sender :  None , 
7976            stats :  Arc :: new ( RwLock :: new ( TrackerStatistics :: new ( ) ) ) , 
8077        } 
8178    } 
@@ -92,17 +89,13 @@ impl StatsTracker {
9289
9390    pub  fn  new ( )  -> Self  { 
9491        Self  { 
95-             channel_sender :  None , 
9692            stats :  Arc :: new ( RwLock :: new ( TrackerStatistics :: new ( ) ) ) , 
9793        } 
9894    } 
9995
10096    pub  fn  run_worker ( & mut  self )  -> Box < dyn  TrackerStatisticsEventSender >  { 
10197        let  ( tx,  mut  rx)  = mpsc:: channel :: < TrackerStatisticsEvent > ( CHANNEL_BUFFER_SIZE ) ; 
10298
103-         // set send channel on stats_tracker 
104-         self . channel_sender  = Some ( tx. clone ( ) ) ; 
105- 
10699        let  stats = self . stats . clone ( ) ; 
107100
108101        tokio:: spawn ( async  move  { 
@@ -159,17 +152,6 @@ pub trait TrackerStatisticsEventSender: Sync + Send {
159152    async  fn  send_event ( & self ,  event :  TrackerStatisticsEvent )  -> Option < Result < ( ) ,  SendError < TrackerStatisticsEvent > > > ; 
160153} 
161154
162- #[ async_trait]  
163- impl  TrackerStatisticsEventSender  for  StatsTracker  { 
164-     async  fn  send_event ( & self ,  event :  TrackerStatisticsEvent )  -> Option < Result < ( ) ,  SendError < TrackerStatisticsEvent > > >  { 
165-         if  let  Some ( tx)  = & self . channel_sender  { 
166-             Some ( tx. send ( event) . await ) 
167-         }  else  { 
168-             None 
169-         } 
170-     } 
171- } 
172- 
173155pub  struct  StatsEventSender  { 
174156    sender :  Sender < TrackerStatisticsEvent > , 
175157} 
@@ -193,36 +175,6 @@ impl TrackerStatisticsRepository for StatsTracker {
193175    } 
194176} 
195177
196- pub  trait  TrackerStatsService :  TrackerStatisticsEventSender  +  TrackerStatisticsRepository  { } 
178+ pub  trait  TrackerStatsService :  TrackerStatisticsRepository  { } 
197179
198180impl  TrackerStatsService  for  StatsTracker  { } 
199- 
200- #[ cfg( test) ]  
201- mod  test { 
202- 
203-     mod  event_sender { 
204-         use  crate :: statistics:: { StatsTracker ,  TrackerStatisticsEvent ,  TrackerStatisticsEventSender } ; 
205- 
206-         #[ tokio:: test]  
207-         async  fn  should_not_send_any_event_when_statistics_are_disabled ( )  { 
208-             let  tracker_usage_statistics = false ; 
209- 
210-             let  inactive_stats_tracker = StatsTracker :: new_instance ( tracker_usage_statistics) ; 
211- 
212-             let  result = inactive_stats_tracker. send_event ( TrackerStatisticsEvent :: Tcp4Announce ) . await ; 
213- 
214-             assert ! ( result. is_none( ) ) ; 
215-         } 
216- 
217-         #[ tokio:: test]  
218-         async  fn  should_send_events_when_statistics_are_enabled ( )  { 
219-             let  tracker_usage_statistics = true ; 
220- 
221-             let  active_stats_tracker = StatsTracker :: new_instance ( tracker_usage_statistics) ; 
222- 
223-             let  result = active_stats_tracker. send_event ( TrackerStatisticsEvent :: Tcp4Announce ) . await ; 
224- 
225-             assert ! ( result. is_some( ) ) ; 
226-         } 
227-     } 
228- } 
0 commit comments