Skip to content

Commit

Permalink
Merge pull request #3309 from TheBlueMatt/2024-09-always-print-why
Browse files Browse the repository at this point in the history
Always print why we disconnect explicitly
  • Loading branch information
TheBlueMatt committed Sep 10, 2024
2 parents a6dea2f + 7efefd7 commit 82b3f62
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions lightning/src/ln/peer_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1333,8 +1333,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
match self.do_read_event(peer_descriptor, data) {
Ok(res) => Ok(res),
Err(e) => {
log_trace!(self.logger, "Disconnecting peer due to a protocol error (usually a duplicate connection).");
self.disconnect_event_internal(peer_descriptor);
self.disconnect_event_internal(peer_descriptor, "of a protocol error");
Err(e)
}
}
Expand Down Expand Up @@ -2435,7 +2434,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM

/// Indicates that the given socket descriptor's connection is now closed.
pub fn socket_disconnected(&self, descriptor: &Descriptor) {
self.disconnect_event_internal(descriptor);
self.disconnect_event_internal(descriptor, "the socket was disconnected");
}

fn do_disconnect(&self, mut descriptor: Descriptor, peer: &Peer, reason: &'static str) {
Expand All @@ -2455,7 +2454,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
descriptor.disconnect_socket();
}

fn disconnect_event_internal(&self, descriptor: &Descriptor) {
fn disconnect_event_internal(&self, descriptor: &Descriptor, reason: &'static str) {
let mut peers = self.peers.write().unwrap();
let peer_option = peers.remove(descriptor);
match peer_option {
Expand All @@ -2467,7 +2466,8 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
Some(peer_lock) => {
let peer = peer_lock.lock().unwrap();
if let Some((node_id, _)) = peer.their_node_id {
log_trace!(WithContext::from(&self.logger, Some(node_id), None, None), "Handling disconnection of peer {}", log_pubkey!(node_id));
let logger = WithContext::from(&self.logger, Some(node_id), None, None);
log_trace!(logger, "Handling disconnection of peer {} because {}", log_pubkey!(node_id), reason);
let removed = self.node_id_to_descriptor.lock().unwrap().remove(&node_id);
debug_assert!(removed.is_some(), "descriptor maps should be consistent");
if !peer.handshake_complete() { return; }
Expand Down

0 comments on commit 82b3f62

Please sign in to comment.