@@ -1682,25 +1682,26 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
16821682 peer_lock. sync_status = InitSyncTracker :: ChannelsSyncing ( 0 ) ;
16831683 }
16841684
1685- if let Err ( ( ) ) = self . message_handler . route_handler . peer_connected ( & their_node_id , & msg , peer_lock . inbound_connection ) {
1686- log_debug ! ( logger , "Route Handler decided we couldn't communicate with peer {} " , log_pubkey! ( their_node_id) ) ;
1687- return Err ( PeerHandleError { } . into ( ) ) ;
1688- }
1689- if let Err ( ( ) ) = self . message_handler . chan_handler . peer_connected ( & their_node_id, & msg, peer_lock. inbound_connection ) {
1690- log_debug ! ( logger , "Channel Handler decided we couldn't communicate with peer {}" , log_pubkey! ( their_node_id ) ) ;
1691- return Err ( PeerHandleError { } . into ( ) ) ;
1692- }
1693- if let Err ( ( ) ) = self . message_handler . onion_message_handler . peer_connected ( & their_node_id , & msg , peer_lock . inbound_connection ) {
1694- log_debug ! ( logger, "Onion Message Handler decided we couldn't communicate with peer {}" , log_pubkey!( their_node_id) ) ;
1695- return Err ( PeerHandleError { } . into ( ) ) ;
1685+ let results = [
1686+ ( "Route Handler" , self . message_handler . route_handler . peer_connected ( & their_node_id, & msg , peer_lock . inbound_connection ) ) ,
1687+ ( "Channel Handler" , self . message_handler . chan_handler . peer_connected ( & their_node_id , & msg , peer_lock . inbound_connection ) ) ,
1688+ ( "Onion Handler" , self . message_handler . onion_message_handler . peer_connected ( & their_node_id , & msg , peer_lock . inbound_connection ) ) ,
1689+ ( "Custom Message Handler" , self . message_handler . custom_message_handler . peer_connected ( & their_node_id, & msg, peer_lock. inbound_connection ) )
1690+ ] ;
1691+
1692+ for ( handler_name , result ) in & results {
1693+ if result . is_err ( ) {
1694+ log_debug ! ( logger, "{} decided we couldn't communicate with peer {}" , handler_name , log_pubkey!( their_node_id) ) ;
1695+ }
16961696 }
1697- if let Err ( ( ) ) = self . message_handler . custom_message_handler . peer_connected ( & their_node_id, & msg, peer_lock. inbound_connection ) {
1698- log_debug ! ( logger, "Custom Message Handler decided we couldn't communicate with peer {}" , log_pubkey!( their_node_id) ) ;
1697+
1698+ peer_lock. their_features = Some ( msg. features ) ;
1699+
1700+ if results. iter ( ) . any ( |( _, result) | result. is_err ( ) ) {
16991701 return Err ( PeerHandleError { } . into ( ) ) ;
17001702 }
17011703
17021704 peer_lock. awaiting_pong_timer_tick_intervals = 0 ;
1703- peer_lock. their_features = Some ( msg. features ) ;
17041705 return Ok ( None ) ;
17051706 } else if peer_lock. their_features . is_none ( ) {
17061707 log_debug ! ( logger, "Peer {} sent non-Init first message" , log_pubkey!( their_node_id) ) ;
0 commit comments