@@ -73,7 +73,9 @@ fn src_connect_to_dst_listening_via_relay() {
7373 relay_swarm. listen_on ( relay_addr. clone ( ) ) . unwrap ( ) ;
7474 spawn_swarm_on_pool ( & pool, relay_swarm) ;
7575
76- dst_swarm. listen_on ( dst_listen_addr_via_relay. clone ( ) ) . unwrap ( ) ;
76+ let dst_listener = dst_swarm
77+ . listen_on ( dst_listen_addr_via_relay. clone ( ) )
78+ . unwrap ( ) ;
7779
7880 pool. run_until ( async {
7981 // Destination Node dialing Relay.
@@ -93,7 +95,13 @@ fn src_connect_to_dst_listening_via_relay() {
9395 // Destination Node reporting listen address via relay.
9496 loop {
9597 match dst_swarm. select_next_some ( ) . await {
96- SwarmEvent :: NewListenAddr ( addr) if addr == dst_listen_addr_via_relay => break ,
98+ SwarmEvent :: NewListenAddr {
99+ address,
100+ listener_id,
101+ } if listener_id == dst_listener => {
102+ assert_eq ! ( address, dst_listen_addr_via_relay) ;
103+ break ;
104+ }
97105 SwarmEvent :: Behaviour ( CombinedEvent :: Ping ( _) ) => { }
98106 SwarmEvent :: Behaviour ( CombinedEvent :: Kad ( KademliaEvent :: RoutingUpdated {
99107 ..
@@ -282,14 +290,20 @@ fn src_connect_to_dst_via_established_connection_to_relay() {
282290 relay_swarm. listen_on ( relay_addr. clone ( ) ) . unwrap ( ) ;
283291 spawn_swarm_on_pool ( & pool, relay_swarm) ;
284292
285- dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
293+ let dst_listener = dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
286294 // Wait for destination to listen via relay.
287295 pool. run_until ( async {
288296 loop {
289297 match dst_swarm. select_next_some ( ) . await {
290298 SwarmEvent :: Dialing ( _) => { }
291299 SwarmEvent :: ConnectionEstablished { .. } => { }
292- SwarmEvent :: NewListenAddr ( addr) if addr == dst_addr_via_relay => break ,
300+ SwarmEvent :: NewListenAddr {
301+ address,
302+ listener_id,
303+ } if listener_id == dst_listener => {
304+ assert_eq ! ( address, dst_addr_via_relay) ;
305+ break ;
306+ }
293307 e => panic ! ( "{:?}" , e) ,
294308 }
295309 }
@@ -531,7 +545,7 @@ fn firewalled_src_discover_firewalled_dst_via_kad_and_connect_to_dst_via_routabl
531545 spawn_swarm_on_pool ( & pool, relay_swarm) ;
532546
533547 // Destination Node listen via Relay.
534- dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
548+ let dst_listener = dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
535549
536550 pool. run_until ( async {
537551 // Destination Node dialing Relay.
@@ -556,7 +570,13 @@ fn firewalled_src_discover_firewalled_dst_via_kad_and_connect_to_dst_via_routabl
556570 // Destination Node reporting listen address via relay.
557571 loop {
558572 match dst_swarm. select_next_some ( ) . await {
559- SwarmEvent :: NewListenAddr ( addr) if addr == dst_addr_via_relay => break ,
573+ SwarmEvent :: NewListenAddr {
574+ address,
575+ listener_id,
576+ } if listener_id == dst_listener => {
577+ assert_eq ! ( address, dst_addr_via_relay) ;
578+ break ;
579+ }
560580 SwarmEvent :: Behaviour ( CombinedEvent :: Ping ( _) ) => { }
561581 SwarmEvent :: Behaviour ( CombinedEvent :: Kad ( KademliaEvent :: RoutingUpdated {
562582 ..
@@ -715,14 +735,20 @@ fn inactive_connection_timeout() {
715735 relay_swarm. listen_on ( relay_addr. clone ( ) ) . unwrap ( ) ;
716736 spawn_swarm_on_pool ( & pool, relay_swarm) ;
717737
718- dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
738+ let new_listener = dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
719739 // Wait for destination to listen via relay.
720740 pool. run_until ( async {
721741 loop {
722742 match dst_swarm. select_next_some ( ) . await {
723743 SwarmEvent :: Dialing ( _) => { }
724744 SwarmEvent :: ConnectionEstablished { .. } => { }
725- SwarmEvent :: NewListenAddr ( addr) if addr == dst_addr_via_relay => break ,
745+ SwarmEvent :: NewListenAddr {
746+ address,
747+ listener_id,
748+ } if listener_id == new_listener => {
749+ assert_eq ! ( address, dst_addr_via_relay) ;
750+ break ;
751+ }
726752 e => panic ! ( "{:?}" , e) ,
727753 }
728754 }
@@ -789,14 +815,20 @@ fn concurrent_connection_same_relay_same_dst() {
789815 relay_swarm. listen_on ( relay_addr. clone ( ) ) . unwrap ( ) ;
790816 spawn_swarm_on_pool ( & pool, relay_swarm) ;
791817
792- dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
818+ let dst_listener = dst_swarm. listen_on ( dst_addr_via_relay. clone ( ) ) . unwrap ( ) ;
793819 // Wait for destination to listen via relay.
794820 pool. run_until ( async {
795821 loop {
796822 match dst_swarm. select_next_some ( ) . await {
797823 SwarmEvent :: Dialing ( _) => { }
798824 SwarmEvent :: ConnectionEstablished { .. } => { }
799- SwarmEvent :: NewListenAddr ( addr) if addr == dst_addr_via_relay => break ,
825+ SwarmEvent :: NewListenAddr {
826+ address,
827+ listener_id,
828+ } if listener_id == dst_listener => {
829+ assert_eq ! ( address, dst_addr_via_relay) ;
830+ break ;
831+ }
800832 e => panic ! ( "{:?}" , e) ,
801833 }
802834 }
@@ -904,10 +936,10 @@ fn yield_incoming_connection_through_correct_listener() {
904936 relay_3_swarm. listen_on ( relay_3_addr. clone ( ) ) . unwrap ( ) ;
905937 spawn_swarm_on_pool ( & pool, relay_3_swarm) ;
906938
907- dst_swarm. listen_on ( relay_1_addr_incl_circuit. clone ( ) ) . unwrap ( ) ;
908- dst_swarm. listen_on ( relay_2_addr_incl_circuit. clone ( ) ) . unwrap ( ) ;
939+ let dst_listener_via_relay_1 = dst_swarm. listen_on ( relay_1_addr_incl_circuit. clone ( ) ) . unwrap ( ) ;
940+ let dst_listener_via_relay_2 = dst_swarm. listen_on ( relay_2_addr_incl_circuit. clone ( ) ) . unwrap ( ) ;
909941 // Listen on own address in order for relay 3 to be able to connect to destination node.
910- dst_swarm. listen_on ( dst_addr. clone ( ) ) . unwrap ( ) ;
942+ let dst_listener = dst_swarm. listen_on ( dst_addr. clone ( ) ) . unwrap ( ) ;
911943
912944 // Wait for destination node to establish connections to relay 1 and 2.
913945 pool. run_until ( async {
@@ -924,10 +956,18 @@ fn yield_incoming_connection_through_correct_listener() {
924956 break ;
925957 }
926958 }
927- SwarmEvent :: NewListenAddr ( addr)
928- if addr == relay_1_addr_incl_circuit
929- || addr == relay_2_addr_incl_circuit
930- || addr == dst_addr => { }
959+ SwarmEvent :: NewListenAddr {
960+ address,
961+ listener_id,
962+ } if listener_id == dst_listener_via_relay_2 => assert_eq ! ( address, relay_2_addr_incl_circuit) ,
963+ SwarmEvent :: NewListenAddr {
964+ address,
965+ listener_id,
966+ } if listener_id == dst_listener_via_relay_1 => assert_eq ! ( address, relay_1_addr_incl_circuit) ,
967+ SwarmEvent :: NewListenAddr {
968+ address,
969+ listener_id,
970+ } if listener_id == dst_listener => assert_eq ! ( address, dst_addr) ,
931971 SwarmEvent :: Behaviour ( CombinedEvent :: Ping ( _) ) => { }
932972 e => panic ! ( "{:?}" , e) ,
933973 }
@@ -966,10 +1006,10 @@ fn yield_incoming_connection_through_correct_listener() {
9661006 unreachable ! ( ) ;
9671007 }
9681008 }
969- SwarmEvent :: NewListenAddr ( addr )
970- if addr == relay_1_addr_incl_circuit
971- || addr == relay_2_addr_incl_circuit
972- || addr == dst_addr => { }
1009+ SwarmEvent :: NewListenAddr { address , .. }
1010+ if address == relay_1_addr_incl_circuit
1011+ || address == relay_2_addr_incl_circuit
1012+ || address == dst_addr => { }
9731013 SwarmEvent :: Behaviour ( CombinedEvent :: Ping ( PingEvent {
9741014 peer,
9751015 result : Ok ( _) ,
@@ -1044,7 +1084,7 @@ fn yield_incoming_connection_through_correct_listener() {
10441084 pool. run_until ( async {
10451085 loop {
10461086 match dst_swarm. select_next_some ( ) . await {
1047- SwarmEvent :: NewListenAddr ( addr ) if addr == Protocol :: P2pCircuit . into ( ) => break ,
1087+ SwarmEvent :: NewListenAddr { address , .. } if address == Protocol :: P2pCircuit . into ( ) => break ,
10481088 SwarmEvent :: Behaviour ( CombinedEvent :: Ping ( _) ) => { }
10491089 SwarmEvent :: Behaviour ( CombinedEvent :: Kad ( KademliaEvent :: RoutingUpdated {
10501090 ..
0 commit comments