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