@@ -532,7 +532,14 @@ pub(crate) enum MonitorUpdateCompletionAction {
532
532
/// this payment. Note that this is only best-effort. On restart it's possible such a duplicate
533
533
/// event can be generated.
534
534
PaymentClaimed { payment_hash : PaymentHash } ,
535
- /// Indicates an [`events::Event`] should be surfaced to the user.
535
+ /// Indicates an [`events::Event`] should be surfaced to the user and possibly resume the
536
+ /// operation of another channel.
537
+ ///
538
+ /// This is usually generated when we've forwarded an HTLC and want to block the outbound edge
539
+ /// from completing a monitor update which removes the payment preimage until the inbound edge
540
+ /// completes a monitor update containing the payment preimage. In that case, after the inbound
541
+ /// edge completes, we will surface an [`Event::PaymentForwarded`] as well as unblock the
542
+ /// outbound edge.
536
543
EmitEventAndFreeOtherChannel {
537
544
event : events:: Event ,
538
545
downstream_counterparty_and_funding_outpoint : Option < ( PublicKey , OutPoint , RAAMonitorUpdateBlockingAction ) > ,
@@ -1038,6 +1045,8 @@ where
1038
1045
/// Thus, we place them here to be handled as soon as possible once we are running normally.
1039
1046
///
1040
1047
/// See `ChannelManager` struct-level documentation for lock order requirements.
1048
+ ///
1049
+ /// [`ChainMonitor`]: crate::chain::chainmonitor::ChainMonitor
1041
1050
pending_background_events : Mutex < Vec < BackgroundEvent > > ,
1042
1051
/// Used when we have to take a BIG lock to make sure everything is self-consistent.
1043
1052
/// Essentially just when we're serializing ourselves out.
0 commit comments