@@ -79,6 +79,7 @@ pub enum NetworkCommand {
79
79
ListenOn ( Multiaddr , UnboundedSender < ListenerEvent > ) ,
80
80
AddExternalAddress ( Multiaddr ) ,
81
81
AddAddress ( PeerId , Multiaddr ) ,
82
+ AddAddresses ( Vec < ( PeerId , Multiaddr ) > ) ,
82
83
RemoveAddress ( PeerId , Multiaddr ) ,
83
84
PrunePeers ( Duration ) ,
84
85
Dial ( PeerId ) ,
@@ -352,6 +353,10 @@ impl NetworkService {
352
353
self . cmd ( NetworkCommand :: AddAddress ( peer, addr) ) ;
353
354
}
354
355
356
+ pub fn add_addresses ( & mut self , addresses : Vec < ( PeerId , Multiaddr ) > ) {
357
+ self . cmd ( NetworkCommand :: AddAddresses ( addresses) ) ;
358
+ }
359
+
355
360
pub fn remove_address ( & mut self , peer : PeerId , addr : Multiaddr ) {
356
361
self . cmd ( NetworkCommand :: RemoveAddress ( peer, addr) ) ;
357
362
}
@@ -661,6 +666,13 @@ async fn poll_swarm<P: StoreParams>(
661
666
. behaviour_mut ( )
662
667
. add_address ( & peer, addr, AddressSource :: User ) ;
663
668
}
669
+ NetworkCommand :: AddAddresses ( addresses) => {
670
+ for ( peer, addr) in addresses {
671
+ swarm
672
+ . behaviour_mut ( )
673
+ . add_address ( & peer, addr, AddressSource :: User ) ;
674
+ }
675
+ }
664
676
NetworkCommand :: RemoveAddress ( peer, addr) => {
665
677
swarm. behaviour_mut ( ) . remove_address ( & peer, & addr) ;
666
678
}
0 commit comments