@@ -674,25 +674,25 @@ pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, M, T, F, L> = ChannelManage
674
674
// |
675
675
// |__`forward_htlcs`
676
676
// |
677
- // |__`channel_state `
677
+ // |__`pending_inbound_payments `
678
678
// | |
679
- // | |__`id_to_peer `
679
+ // | |__`claimable_htlcs `
680
680
// | |
681
- // | |__`per_peer_state `
681
+ // | |__`pending_outbound_payments `
682
682
// | |
683
- // | |__`outbound_scid_aliases `
684
- // | |
685
- // | |__`pending_inbound_payments `
683
+ // | |__`channel_state `
684
+ // | |
685
+ // | |__`id_to_peer `
686
686
// | |
687
- // | |__`claimable_htlcs`
687
+ // | |__`pending_events`
688
+ // | | |
689
+ // | | |__`pending_background_events`
688
690
// | |
689
- // | |__`pending_outbound_payments `
691
+ // | |__`per_peer_state `
690
692
// | |
691
- // | |__`best_block `
693
+ // | |__`outbound_scid_aliases `
692
694
// | |
693
- // | |__`pending_events`
694
- // | |
695
- // | |__`pending_background_events`
695
+ // | |__`best_block`
696
696
//
697
697
pub struct ChannelManager < Signer : Sign , M : Deref , T : Deref , K : Deref , F : Deref , L : Deref >
698
698
where M :: Target : chain:: Watch < Signer > ,
@@ -2455,7 +2455,6 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2455
2455
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
2456
2456
2457
2457
let err: Result < ( ) , _ > = loop {
2458
- let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2459
2458
2460
2459
let mut pending_outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
2461
2460
let payment_entry = pending_outbounds. entry ( payment_id) ;
@@ -2467,6 +2466,8 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2467
2466
}
2468
2467
}
2469
2468
2469
+ let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2470
+
2470
2471
let id = match channel_lock. short_to_chan_info . get ( & path. first ( ) . unwrap ( ) . short_channel_id ) {
2471
2472
None => return Err ( APIError :: ChannelUnavailable { err : "No channel available with first hop!" . to_owned ( ) } ) ,
2472
2473
Some ( ( _cp_id, chan_id) ) => chan_id. clone ( ) ,
@@ -6657,14 +6658,17 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> Writeable f
6657
6658
}
6658
6659
}
6659
6660
6660
- let per_peer_state = self . per_peer_state . write ( ) . unwrap ( ) ;
6661
- ( per_peer_state. len ( ) as u64 ) . write ( writer) ?;
6662
- for ( peer_pubkey, peer_state_mutex) in per_peer_state. iter ( ) {
6663
- peer_pubkey. write ( writer) ?;
6664
- let peer_state = peer_state_mutex. lock ( ) . unwrap ( ) ;
6665
- peer_state. latest_features . write ( writer) ?;
6661
+ {
6662
+ let per_peer_state = self . per_peer_state . write ( ) . unwrap ( ) ;
6663
+ ( per_peer_state. len ( ) as u64 ) . write ( writer) ?;
6664
+ for ( peer_pubkey, peer_state_mutex) in per_peer_state. iter ( ) {
6665
+ peer_pubkey. write ( writer) ?;
6666
+ let peer_state = peer_state_mutex. lock ( ) . unwrap ( ) ;
6667
+ peer_state. latest_features . write ( writer) ?;
6668
+ }
6666
6669
}
6667
6670
6671
+
6668
6672
let pending_inbound_payments = self . pending_inbound_payments . lock ( ) . unwrap ( ) ;
6669
6673
let pending_outbound_payments = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
6670
6674
let events = self . pending_events . lock ( ) . unwrap ( ) ;
0 commit comments