@@ -148,20 +148,21 @@ impl PendingOutboundPayment {
148
148
}
149
149
150
150
fn mark_abandoned ( & mut self , reason : PaymentFailureReason ) -> Result < ( ) , ( ) > {
151
- let mut session_privs = HashSet :: new ( ) ;
152
- let our_payment_hash;
153
- core:: mem:: swap ( & mut session_privs, match self {
151
+ match self {
154
152
PendingOutboundPayment :: Legacy { .. } |
155
- PendingOutboundPayment :: Fulfilled { .. } =>
156
- return Err ( ( ) ) ,
157
- PendingOutboundPayment :: Retryable { session_privs, payment_hash, .. } |
158
- PendingOutboundPayment :: Abandoned { session_privs, payment_hash, .. } => {
159
- our_payment_hash = * payment_hash;
160
- session_privs
153
+ PendingOutboundPayment :: Fulfilled { .. } => Err ( ( ) ) ,
154
+ PendingOutboundPayment :: Retryable { session_privs, payment_hash, .. } => {
155
+ let mut our_session_privs = HashSet :: new ( ) ;
156
+ core:: mem:: swap ( & mut our_session_privs, session_privs) ;
157
+ * self = PendingOutboundPayment :: Abandoned {
158
+ session_privs : our_session_privs,
159
+ payment_hash : * payment_hash,
160
+ reason : Some ( reason)
161
+ } ;
162
+ Ok ( ( ) )
161
163
} ,
162
- } ) ;
163
- * self = PendingOutboundPayment :: Abandoned { session_privs, payment_hash : our_payment_hash, reason : Some ( reason) } ;
164
- Ok ( ( ) )
164
+ PendingOutboundPayment :: Abandoned { .. } => Ok ( ( ) ) ,
165
+ }
165
166
}
166
167
167
168
/// panics if path is None and !self.is_fulfilled
@@ -548,9 +549,7 @@ impl OutboundPayments {
548
549
outbounds. retain ( |pmt_id, pmt| {
549
550
let mut retain = true ;
550
551
if !pmt. is_auto_retryable_now ( ) && pmt. remaining_parts ( ) == 0 {
551
- if !pmt. abandoned ( ) {
552
- let _ = pmt. mark_abandoned ( PaymentFailureReason :: RetriesExhausted ) ;
553
- }
552
+ let _ = pmt. mark_abandoned ( PaymentFailureReason :: RetriesExhausted ) ;
554
553
if let PendingOutboundPayment :: Abandoned { payment_hash, reason, .. } = pmt {
555
554
pending_events. lock ( ) . unwrap ( ) . push ( events:: Event :: PaymentFailed {
556
555
payment_id : * pmt_id,
@@ -668,9 +667,7 @@ impl OutboundPayments {
668
667
669
668
macro_rules! abandon_with_entry {
670
669
( $payment: expr, $reason: expr) => {
671
- if !$payment. get( ) . abandoned( ) {
672
- let _ = $payment. get_mut( ) . mark_abandoned( $reason) ;
673
- }
670
+ let _ = $payment. get_mut( ) . mark_abandoned( $reason) ;
674
671
if let PendingOutboundPayment :: Abandoned { reason, .. } = $payment. get( ) {
675
672
if $payment. get( ) . remaining_parts( ) == 0 {
676
673
pending_events. lock( ) . unwrap( ) . push( events:: Event :: PaymentFailed {
@@ -1256,9 +1253,7 @@ impl OutboundPayments {
1256
1253
) {
1257
1254
let mut outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
1258
1255
if let hash_map:: Entry :: Occupied ( mut payment) = outbounds. entry ( payment_id) {
1259
- if !payment. get ( ) . abandoned ( ) {
1260
- let _ = payment. get_mut ( ) . mark_abandoned ( reason) ;
1261
- }
1256
+ let _ = payment. get_mut ( ) . mark_abandoned ( reason) ;
1262
1257
if let PendingOutboundPayment :: Abandoned { payment_hash, reason, .. } = payment. get ( ) {
1263
1258
if payment. get ( ) . remaining_parts ( ) == 0 {
1264
1259
pending_events. lock ( ) . unwrap ( ) . push ( events:: Event :: PaymentFailed {
0 commit comments