Merge pull request #3311 from TheBlueMatt/2024-09-3010-followups

Quick #3010 followups
This commit is contained in:
Matt Corallo 2024-09-30 21:21:20 +00:00 committed by GitHub
commit c7627dfd61
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 7 deletions

View file

@ -1101,6 +1101,7 @@ fn creates_and_pays_for_offer_with_retry() {
expect_recent_payment!(bob, RecentPaymentDetails::AwaitingInvoice, payment_id);
let _lost_onion_message = bob.onion_messenger.next_onion_message_for_peer(alice_id).unwrap();
assert!(bob.onion_messenger.next_onion_message_for_peer(alice_id).is_none());
// Simulate a scenario where the original onion_message is lost before reaching Alice.
// Use handle_message_received to regenerate the message.

View file

@ -1618,14 +1618,15 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
let their_node_id = peer_lock.their_node_id.expect("We know the peer's public key by the time we receive messages").0;
let logger = WithContext::from(&self.logger, Some(their_node_id), None, None);
self.message_handler.chan_handler.message_received();
let message = match self.do_handle_message_holding_peer_lock(peer_lock, message, their_node_id, &logger)? {
Some(processed_message) => processed_message,
None => return Ok(None),
};
let unprocessed_message = self.do_handle_message_holding_peer_lock(peer_lock, message, their_node_id, &logger)?;
self.do_handle_message_without_peer_lock(peer_mutex, message, their_node_id, &logger)
self.message_handler.chan_handler.message_received();
if let Some(message) = unprocessed_message {
self.do_handle_message_without_peer_lock(peer_mutex, message, their_node_id, &logger)
} else {
Ok(None)
}
}
// Conducts all message processing that requires us to hold the `peer_lock`.