projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add redundant blinded HTLC failure check for posterity.
[rust-lightning]
/
lightning
/
src
/
onion_message
/
messenger.rs
diff --git
a/lightning/src/onion_message/messenger.rs
b/lightning/src/onion_message/messenger.rs
index a6f11bf6a7d75e07be52442569c42ed87d610870..21a1b302da09b76fa3f73cbc70953fa46919c3c6 100644
(file)
--- a/
lightning/src/onion_message/messenger.rs
+++ b/
lightning/src/onion_message/messenger.rs
@@
-223,6
+223,13
@@
impl OnionMessageRecipient {
*self = OnionMessageRecipient::ConnectedPeer(new_pending_messages);
}
}
*self = OnionMessageRecipient::ConnectedPeer(new_pending_messages);
}
}
+
+ fn is_connected(&self) -> bool {
+ match self {
+ OnionMessageRecipient::ConnectedPeer(..) => true,
+ OnionMessageRecipient::PendingConnection(..) => false,
+ }
+ }
}
/// An [`OnionMessage`] for [`OnionMessenger`] to send.
}
/// An [`OnionMessage`] for [`OnionMessenger`] to send.
@@
-729,7
+736,11
@@
where
},
hash_map::Entry::Occupied(mut e) => {
e.get_mut().enqueue_message(onion_message);
},
hash_map::Entry::Occupied(mut e) => {
e.get_mut().enqueue_message(onion_message);
- Ok(SendSuccess::Buffered)
+ if e.get().is_connected() {
+ Ok(SendSuccess::Buffered)
+ } else {
+ Ok(SendSuccess::BufferedAwaitingConnection(first_node_id))
+ }
},
}
}
},
}
}