@@ -16,7 +16,7 @@ use zerocopy::network_endian::I32;
16
16
17
17
use crate :: error:: Error ;
18
18
use crate :: statistics as server_statistics;
19
- use crate :: statistics:: event:: UdpRequestKind ;
19
+ use crate :: statistics:: event:: { ConnectionContext , UdpRequestKind } ;
20
20
21
21
/// It handles the `Announce` request.
22
22
///
@@ -45,13 +45,15 @@ pub async fn handle_announce(
45
45
IpAddr :: V4 ( _) => {
46
46
udp_server_stats_event_sender
47
47
. send_event ( server_statistics:: event:: Event :: Udp4Request {
48
+ context : ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
48
49
kind : UdpRequestKind :: Announce ,
49
50
} )
50
51
. await ;
51
52
}
52
53
IpAddr :: V6 ( _) => {
53
54
udp_server_stats_event_sender
54
55
. send_event ( server_statistics:: event:: Event :: Udp6Request {
56
+ context : ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
55
57
kind : UdpRequestKind :: Announce ,
56
58
} )
57
59
. await ;
@@ -429,10 +431,14 @@ mod tests {
429
431
430
432
#[ tokio:: test]
431
433
async fn should_send_the_upd4_announce_event ( ) {
434
+ let client_socket_addr = sample_ipv4_socket_address ( ) ;
435
+ let server_socket_addr = SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 203 , 0 , 113 , 196 ) ) , 6969 ) ;
436
+
432
437
let mut udp_server_stats_event_sender_mock = MockUdpServerStatsEventSender :: new ( ) ;
433
438
udp_server_stats_event_sender_mock
434
439
. expect_send_event ( )
435
440
. with ( eq ( server_statistics:: event:: Event :: Udp4Request {
441
+ context : server_statistics:: event:: ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
436
442
kind : UdpRequestKind :: Announce ,
437
443
} ) )
438
444
. times ( 1 )
@@ -443,9 +449,6 @@ mod tests {
443
449
let ( core_tracker_services, core_udp_tracker_services, _server_udp_tracker_services) =
444
450
initialize_core_tracker_services_for_default_tracker_configuration ( ) ;
445
451
446
- let client_socket_addr = sample_ipv4_socket_address ( ) ;
447
- let server_socket_addr = SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 203 , 0 , 113 , 196 ) ) , 6969 ) ;
448
-
449
452
handle_announce (
450
453
& core_udp_tracker_services. announce_service ,
451
454
client_socket_addr,
@@ -771,10 +774,14 @@ mod tests {
771
774
772
775
#[ tokio:: test]
773
776
async fn should_send_the_upd6_announce_event ( ) {
777
+ let client_socket_addr = sample_ipv6_remote_addr ( ) ;
778
+ let server_socket_addr = SocketAddr :: new ( IpAddr :: V6 ( Ipv6Addr :: new ( 0 , 0 , 0 , 0 , 203 , 0 , 113 , 196 ) ) , 6969 ) ;
779
+
774
780
let mut udp_server_stats_event_sender_mock = MockUdpServerStatsEventSender :: new ( ) ;
775
781
udp_server_stats_event_sender_mock
776
782
. expect_send_event ( )
777
783
. with ( eq ( server_statistics:: event:: Event :: Udp6Request {
784
+ context : server_statistics:: event:: ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
778
785
kind : UdpRequestKind :: Announce ,
779
786
} ) )
780
787
. times ( 1 )
@@ -785,9 +792,6 @@ mod tests {
785
792
let ( core_tracker_services, core_udp_tracker_services, _server_udp_tracker_services) =
786
793
initialize_core_tracker_services_for_default_tracker_configuration ( ) ;
787
794
788
- let client_socket_addr = sample_ipv6_remote_addr ( ) ;
789
- let server_socket_addr = SocketAddr :: new ( IpAddr :: V6 ( Ipv6Addr :: new ( 0 , 0 , 0 , 0 , 203 , 0 , 113 , 196 ) ) , 6969 ) ;
790
-
791
795
let announce_request = AnnounceRequestBuilder :: default ( )
792
796
. with_connection_id ( make ( gen_remote_fingerprint ( & client_socket_addr) , sample_issue_time ( ) ) . unwrap ( ) )
793
797
. into ( ) ;
@@ -819,7 +823,6 @@ mod tests {
819
823
use bittorrent_tracker_core:: whitelist:: repository:: in_memory:: InMemoryWhitelist ;
820
824
use bittorrent_udp_tracker_core:: connection_cookie:: { gen_remote_fingerprint, make} ;
821
825
use bittorrent_udp_tracker_core:: services:: announce:: AnnounceService ;
822
- use bittorrent_udp_tracker_core:: statistics:: event:: ConnectionContext ;
823
826
use bittorrent_udp_tracker_core:: { self , statistics as core_statistics} ;
824
827
use mockall:: predicate:: eq;
825
828
@@ -860,7 +863,7 @@ mod tests {
860
863
udp_core_stats_event_sender_mock
861
864
. expect_send_event ( )
862
865
. with ( eq ( core_statistics:: event:: Event :: UdpAnnounce {
863
- context : ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
866
+ context : core_statistics :: event :: ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
864
867
} ) )
865
868
. times ( 1 )
866
869
. returning ( |_| Box :: pin ( future:: ready ( Some ( Ok ( ( ) ) ) ) ) ) ;
@@ -871,6 +874,7 @@ mod tests {
871
874
udp_server_stats_event_sender_mock
872
875
. expect_send_event ( )
873
876
. with ( eq ( server_statistics:: event:: Event :: Udp6Request {
877
+ context : server_statistics:: event:: ConnectionContext :: new ( client_socket_addr, server_socket_addr) ,
874
878
kind : UdpRequestKind :: Announce ,
875
879
} ) )
876
880
. times ( 1 )
0 commit comments