@@ -121,6 +121,7 @@ impl RoutingMessageHandler for IgnoringMessageHandler {
121
121
Option < ( msgs:: ChannelAnnouncement , Option < msgs:: ChannelUpdate > , Option < msgs:: ChannelUpdate > ) > { None }
122
122
fn get_next_node_announcement ( & self , _starting_point : Option < & NodeId > ) -> Option < msgs:: NodeAnnouncement > { None }
123
123
fn peer_connected ( & self , _their_node_id : PublicKey , _init : & msgs:: Init , _inbound : bool ) -> Result < ( ) , ( ) > { Ok ( ( ) ) }
124
+ fn peer_disconnected ( & self , _their_node_id : PublicKey ) { }
124
125
fn handle_reply_channel_range ( & self , _their_node_id : PublicKey , _msg : msgs:: ReplyChannelRange ) -> Result < ( ) , LightningError > { Ok ( ( ) ) }
125
126
fn handle_reply_short_channel_ids_end ( & self , _their_node_id : PublicKey , _msg : msgs:: ReplyShortChannelIdsEnd ) -> Result < ( ) , LightningError > { Ok ( ( ) ) }
126
127
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
1716
1717
}
1717
1718
if let Err ( ( ) ) = self . message_handler . chan_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
1718
1719
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) ;
1719
1721
return Err ( PeerHandleError { } . into ( ) ) ;
1720
1722
}
1721
1723
if let Err ( ( ) ) = self . message_handler . onion_message_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
1722
1724
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) ;
1723
1726
self . message_handler . chan_handler . peer_disconnected ( their_node_id) ;
1724
1727
return Err ( PeerHandleError { } . into ( ) ) ;
1725
1728
}
1726
1729
if let Err ( ( ) ) = self . message_handler . custom_message_handler . peer_connected ( their_node_id, & msg, peer_lock. inbound_connection ) {
1727
1730
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) ;
1728
1732
self . message_handler . chan_handler . peer_disconnected ( their_node_id) ;
1729
1733
self . message_handler . onion_message_handler . peer_disconnected ( their_node_id) ;
1730
1734
return Err ( PeerHandleError { } . into ( ) ) ;
@@ -2538,6 +2542,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
2538
2542
debug_assert ! ( peer. their_node_id. is_some( ) ) ;
2539
2543
if let Some ( ( node_id, _) ) = peer. their_node_id {
2540
2544
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) ;
2541
2546
self . message_handler . chan_handler . peer_disconnected ( node_id) ;
2542
2547
self . message_handler . onion_message_handler . peer_disconnected ( node_id) ;
2543
2548
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
2562
2567
let removed = self . node_id_to_descriptor . lock ( ) . unwrap ( ) . remove ( & node_id) ;
2563
2568
debug_assert ! ( removed. is_some( ) , "descriptor maps should be consistent" ) ;
2564
2569
if !peer. handshake_complete ( ) { return ; }
2570
+ self . message_handler . route_handler . peer_disconnected ( node_id) ;
2565
2571
self . message_handler . chan_handler . peer_disconnected ( node_id) ;
2566
2572
self . message_handler . onion_message_handler . peer_disconnected ( node_id) ;
2567
2573
self . message_handler . custom_message_handler . peer_disconnected ( node_id) ;
0 commit comments