Relax OnionMessenger::peer_disconnected assertion
authorJeffrey Czyz <jkczyz@gmail.com>
Tue, 12 Dec 2023 14:46:10 +0000 (08:46 -0600)
committerJeffrey Czyz <jkczyz@gmail.com>
Tue, 12 Dec 2023 14:53:52 +0000 (08:53 -0600)
When a peer is connected, OnionMessenger tracks it only if it supports
onion messages. On disconnect, we debug_assert that the peer was in a
state ConnectedPeer, failing when it is in the PendingConnection state.
However, we were mistakenly asserting for peers that we were not
tracking (i.e., that don't support onion messages). Relax the check to
not fail on the latter.

lightning/src/onion_message/messenger.rs

index 21a1b302da09b76fa3f73cbc70953fa46919c3c6..8a44eb2a5beebf3128582bdbce23cc8edfbda381 100644 (file)
@@ -914,7 +914,8 @@ where
        fn peer_disconnected(&self, their_node_id: &PublicKey) {
                match self.message_recipients.lock().unwrap().remove(their_node_id) {
                        Some(OnionMessageRecipient::ConnectedPeer(..)) => {},
-                       _ => debug_assert!(false),
+                       Some(_) => debug_assert!(false),
+                       None => {},
                }
        }