@@ -121,6 +121,7 @@ impl RoutingMessageHandler for IgnoringMessageHandler {
121121 Option < ( msgs:: ChannelAnnouncement , Option < msgs:: ChannelUpdate > , Option < msgs:: ChannelUpdate > ) > { None }
122122 fn get_next_node_announcement ( & self , _starting_point : Option < & NodeId > ) -> Option < msgs:: NodeAnnouncement > { None }
123123 fn peer_connected ( & self , _their_node_id : PublicKey , _init : & msgs:: Init , _inbound : bool ) -> Result < ( ) , ( ) > { Ok ( ( ) ) }
124+ fn peer_disconnected ( & self , _their_node_id : PublicKey ) { }
124125 fn handle_reply_channel_range ( & self , _their_node_id : PublicKey , _msg : msgs:: ReplyChannelRange ) -> Result < ( ) , LightningError > { Ok ( ( ) ) }
125126 fn handle_reply_short_channel_ids_end ( & self , _their_node_id : PublicKey , _msg : msgs:: ReplyShortChannelIdsEnd ) -> Result < ( ) , LightningError > { Ok ( ( ) ) }
126127 fn handle_query_channel_range ( & self , _their_node_id : PublicKey , _msg : msgs:: QueryChannelRange ) -> Result < ( ) , LightningError > { Ok ( ( ) ) }
@@ -1716,15 +1717,18 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
17161717 }
17171718 if let Err ( ( ) ) = self . message_handler . chan_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
17181719 log_debug ! ( logger, "Channel Handler decided we couldn't communicate with peer {}" , log_pubkey!( their_node_id) ) ;
1720+ self . message_handler . route_handler . peer_disconnected ( their_node_id) ;
17191721 return Err ( PeerHandleError { } . into ( ) ) ;
17201722 }
17211723 if let Err ( ( ) ) = self . message_handler . onion_message_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
17221724 log_debug ! ( logger, "Onion Message Handler decided we couldn't communicate with peer {}" , log_pubkey!( their_node_id) ) ;
1725+ self . message_handler . route_handler . peer_disconnected ( their_node_id) ;
17231726 self . message_handler . chan_handler . peer_disconnected ( their_node_id) ;
17241727 return Err ( PeerHandleError { } . into ( ) ) ;
17251728 }
17261729 if let Err ( ( ) ) = self . message_handler . custom_message_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
17271730 log_debug ! ( logger, "Custom Message Handler decided we couldn't communicate with peer {}" , log_pubkey!( their_node_id) ) ;
1731+ self . message_handler . route_handler . peer_disconnected ( their_node_id) ;
17281732 self . message_handler . chan_handler . peer_disconnected ( their_node_id) ;
17291733 self . message_handler . onion_message_handler . peer_disconnected ( their_node_id) ;
17301734 return Err ( PeerHandleError { } . into ( ) ) ;
@@ -2538,6 +2542,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
25382542 debug_assert ! ( peer. their_node_id. is_some( ) ) ;
25392543 if let Some ( ( node_id, _) ) = peer. their_node_id {
25402544 log_trace ! ( WithContext :: from( & self . logger, Some ( node_id) , None , None ) , "Disconnecting peer with id {} due to {}" , node_id, reason) ;
2545+ self . message_handler . route_handler . peer_disconnected ( node_id) ;
25412546 self . message_handler . chan_handler . peer_disconnected ( node_id) ;
25422547 self . message_handler . onion_message_handler . peer_disconnected ( node_id) ;
25432548 self . message_handler . custom_message_handler . peer_disconnected ( node_id) ;
@@ -2562,6 +2567,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
25622567 let removed = self . node_id_to_descriptor . lock ( ) . unwrap ( ) . remove ( & node_id) ;
25632568 debug_assert ! ( removed. is_some( ) , "descriptor maps should be consistent" ) ;
25642569 if !peer. handshake_complete ( ) { return ; }
2570+ self . message_handler . route_handler . peer_disconnected ( node_id) ;
25652571 self . message_handler . chan_handler . peer_disconnected ( node_id) ;
25662572 self . message_handler . onion_message_handler . peer_disconnected ( node_id) ;
25672573 self . message_handler . custom_message_handler . peer_disconnected ( node_id) ;
0 commit comments