@@ -303,9 +303,15 @@ impl NetworkBehaviour for Behaviour {
303303 conn : & ConnectionId ,
304304 endpoint : & ConnectedPoint ,
305305 failed_addresses : Option < & Vec < Multiaddr > > ,
306+ other_established : usize ,
306307 ) {
307- self . inner
308- . inject_connection_established ( peer, conn, endpoint, failed_addresses) ;
308+ self . inner . inject_connection_established (
309+ peer,
310+ conn,
311+ endpoint,
312+ failed_addresses,
313+ other_established,
314+ ) ;
309315 let connections = self . connected . entry ( * peer) . or_default ( ) ;
310316 let addr = if endpoint. is_relayed ( ) {
311317 None
@@ -342,11 +348,16 @@ impl NetworkBehaviour for Behaviour {
342348 conn : & ConnectionId ,
343349 endpoint : & ConnectedPoint ,
344350 handler : <Self :: ProtocolsHandler as IntoProtocolsHandler >:: Handler ,
351+ remaining_established : usize ,
345352 ) {
346353 self . inner
347- . inject_connection_closed ( peer, conn, endpoint, handler) ;
348- let connections = self . connected . get_mut ( peer) . expect ( "Peer is connected." ) ;
349- connections. remove ( conn) ;
354+ . inject_connection_closed ( peer, conn, endpoint, handler, remaining_established) ;
355+ if remaining_established == 0 {
356+ self . connected . remove ( peer) ;
357+ } else {
358+ let connections = self . connected . get_mut ( peer) . expect ( "Peer is connected." ) ;
359+ connections. remove ( conn) ;
360+ }
350361 }
351362
352363 fn inject_dial_failure (
@@ -362,11 +373,6 @@ impl NetworkBehaviour for Behaviour {
362373 }
363374 }
364375
365- fn inject_disconnected ( & mut self , peer : & PeerId ) {
366- self . inner . inject_disconnected ( peer) ;
367- self . connected . remove ( peer) ;
368- }
369-
370376 fn inject_address_change (
371377 & mut self ,
372378 peer : & PeerId ,
@@ -461,10 +467,6 @@ impl NetworkBehaviour for Behaviour {
461467 self . inner . addresses_of_peer ( peer)
462468 }
463469
464- fn inject_connected ( & mut self , peer : & PeerId ) {
465- self . inner . inject_connected ( peer)
466- }
467-
468470 fn inject_event (
469471 & mut self ,
470472 peer_id : PeerId ,
0 commit comments