@@ -274,24 +274,6 @@ pub(super) struct ChannelHolder<ChanSigner: ChannelKeys> {
274
274
/// for broadcast messages, where ordering isn't as strict).
275
275
pub ( super ) pending_msg_events : Vec < events:: MessageSendEvent > ,
276
276
}
277
- pub ( super ) struct MutChannelHolder < ' a , ChanSigner : ChannelKeys + ' a > {
278
- pub ( super ) by_id : & ' a mut HashMap < [ u8 ; 32 ] , Channel < ChanSigner > > ,
279
- pub ( super ) short_to_id : & ' a mut HashMap < u64 , [ u8 ; 32 ] > ,
280
- pub ( super ) forward_htlcs : & ' a mut HashMap < u64 , Vec < HTLCForwardInfo > > ,
281
- pub ( super ) claimable_htlcs : & ' a mut HashMap < PaymentHash , Vec < ( u64 , HTLCPreviousHopData ) > > ,
282
- pub ( super ) pending_msg_events : & ' a mut Vec < events:: MessageSendEvent > ,
283
- }
284
- impl < ChanSigner : ChannelKeys > ChannelHolder < ChanSigner > {
285
- pub ( super ) fn borrow_parts ( & mut self ) -> MutChannelHolder < ChanSigner > {
286
- MutChannelHolder {
287
- by_id : & mut self . by_id ,
288
- short_to_id : & mut self . short_to_id ,
289
- forward_htlcs : & mut self . forward_htlcs ,
290
- claimable_htlcs : & mut self . claimable_htlcs ,
291
- pending_msg_events : & mut self . pending_msg_events ,
292
- }
293
- }
294
- }
295
277
296
278
#[ cfg( not( any( target_pointer_width = "32" , target_pointer_width = "64" ) ) ) ]
297
279
const ERR : ( ) = "You need at least 32 bit pointers (well, usize, but we'll assume they're the same) for ChannelManager::latest_block_height" ;
@@ -738,7 +720,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
738
720
739
721
let ( mut failed_htlcs, chan_option) = {
740
722
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
741
- let channel_state = channel_state_lock. borrow_parts ( ) ;
723
+ let channel_state = & mut * channel_state_lock;
742
724
match channel_state. by_id . entry ( channel_id. clone ( ) ) {
743
725
hash_map:: Entry :: Occupied ( mut chan_entry) => {
744
726
let ( shutdown_msg, failed_htlcs) = chan_entry. get_mut ( ) . get_shutdown ( ) ?;
@@ -795,7 +777,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
795
777
796
778
let mut chan = {
797
779
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
798
- let channel_state = channel_state_lock. borrow_parts ( ) ;
780
+ let channel_state = & mut * channel_state_lock;
799
781
if let Some ( chan) = channel_state. by_id . remove ( channel_id) {
800
782
if let Some ( short_id) = chan. get_short_channel_id ( ) {
801
783
channel_state. short_to_id . remove ( & short_id) ;
@@ -1127,7 +1109,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1127
1109
Some ( id) => id. clone ( ) ,
1128
1110
} ;
1129
1111
1130
- let channel_state = channel_lock. borrow_parts ( ) ;
1112
+ let channel_state = & mut * channel_lock;
1131
1113
if let hash_map:: Entry :: Occupied ( mut chan) = channel_state. by_id . entry ( id) {
1132
1114
match {
1133
1115
if chan. get ( ) . get_their_node_id ( ) != route. hops . first ( ) . unwrap ( ) . pubkey {
@@ -1275,7 +1257,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1275
1257
let mut handle_errors = Vec :: new ( ) ;
1276
1258
{
1277
1259
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1278
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1260
+ let channel_state = & mut * channel_state_lock;
1279
1261
1280
1262
for ( short_chan_id, mut pending_forwards) in channel_state. forward_htlcs . drain ( ) {
1281
1263
if short_chan_id != 0 {
@@ -1473,8 +1455,8 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1473
1455
pub fn timer_chan_freshness_every_min ( & self ) {
1474
1456
let _ = self . total_consistency_lock . read ( ) . unwrap ( ) ;
1475
1457
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1476
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1477
- for ( _, chan) in channel_state. by_id {
1458
+ let channel_state = & mut * channel_state_lock;
1459
+ for ( _, chan) in channel_state. by_id . iter_mut ( ) {
1478
1460
if chan. is_disabled_staged ( ) && !chan. is_live ( ) {
1479
1461
if let Ok ( update) = self . get_channel_update ( & chan) {
1480
1462
channel_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate {
@@ -1657,7 +1639,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1657
1639
} ,
1658
1640
HTLCSource :: PreviousHopData ( HTLCPreviousHopData { short_channel_id, htlc_id, .. } ) => {
1659
1641
//TODO: Delay the claimed_funds relaying just like we do outbound relay!
1660
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1642
+ let channel_state = & mut * channel_state_lock;
1661
1643
1662
1644
let chan_id = match channel_state. short_to_id . get ( & short_channel_id) {
1663
1645
Some ( chan_id) => chan_id. clone ( ) ,
@@ -1729,9 +1711,9 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1729
1711
1730
1712
{
1731
1713
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1732
- let channel_state = channel_lock. borrow_parts ( ) ;
1733
- let short_to_id = channel_state. short_to_id ;
1734
- let pending_msg_events = channel_state. pending_msg_events ;
1714
+ let channel_state = & mut * channel_lock;
1715
+ let short_to_id = & mut channel_state. short_to_id ;
1716
+ let pending_msg_events = & mut channel_state. pending_msg_events ;
1735
1717
channel_state. by_id . retain ( |_, channel| {
1736
1718
if channel. is_awaiting_monitor_update ( ) {
1737
1719
let chan_monitor = channel. channel_monitor ( ) . clone ( ) ;
@@ -1836,7 +1818,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1836
1818
let channel = Channel :: new_from_req ( & * self . fee_estimator , & self . keys_manager , their_node_id. clone ( ) , their_features, msg, 0 , Arc :: clone ( & self . logger ) , & self . default_configuration )
1837
1819
. map_err ( |e| MsgHandleErrInternal :: from_chan_no_close ( e, msg. temporary_channel_id ) ) ?;
1838
1820
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1839
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1821
+ let channel_state = & mut * channel_state_lock;
1840
1822
match channel_state. by_id . entry ( channel. channel_id ( ) ) {
1841
1823
hash_map:: Entry :: Occupied ( _) => return Err ( MsgHandleErrInternal :: send_err_msg_no_close ( "temporary_channel_id collision!" , msg. temporary_channel_id . clone ( ) ) ) ,
1842
1824
hash_map:: Entry :: Vacant ( entry) => {
@@ -1853,7 +1835,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1853
1835
fn internal_accept_channel ( & self , their_node_id : & PublicKey , their_features : InitFeatures , msg : & msgs:: AcceptChannel ) -> Result < ( ) , MsgHandleErrInternal > {
1854
1836
let ( value, output_script, user_id) = {
1855
1837
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1856
- let channel_state = channel_lock. borrow_parts ( ) ;
1838
+ let channel_state = & mut * channel_lock;
1857
1839
match channel_state. by_id . entry ( msg. temporary_channel_id ) {
1858
1840
hash_map:: Entry :: Occupied ( mut chan) => {
1859
1841
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -1878,7 +1860,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1878
1860
fn internal_funding_created ( & self , their_node_id : & PublicKey , msg : & msgs:: FundingCreated ) -> Result < ( ) , MsgHandleErrInternal > {
1879
1861
let ( ( funding_msg, monitor_update) , mut chan) = {
1880
1862
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1881
- let channel_state = channel_lock. borrow_parts ( ) ;
1863
+ let channel_state = & mut * channel_lock;
1882
1864
match channel_state. by_id . entry ( msg. temporary_channel_id . clone ( ) ) {
1883
1865
hash_map:: Entry :: Occupied ( mut chan) => {
1884
1866
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -1910,7 +1892,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1910
1892
}
1911
1893
}
1912
1894
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1913
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1895
+ let channel_state = & mut * channel_state_lock;
1914
1896
match channel_state. by_id . entry ( funding_msg. channel_id ) {
1915
1897
hash_map:: Entry :: Occupied ( _) => {
1916
1898
return Err ( MsgHandleErrInternal :: send_err_msg_no_close ( "Already had channel with the new channel_id" , funding_msg. channel_id ) )
@@ -1929,7 +1911,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1929
1911
fn internal_funding_signed ( & self , their_node_id : & PublicKey , msg : & msgs:: FundingSigned ) -> Result < ( ) , MsgHandleErrInternal > {
1930
1912
let ( funding_txo, user_id) = {
1931
1913
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1932
- let channel_state = channel_lock. borrow_parts ( ) ;
1914
+ let channel_state = & mut * channel_lock;
1933
1915
match channel_state. by_id . entry ( msg. channel_id ) {
1934
1916
hash_map:: Entry :: Occupied ( mut chan) => {
1935
1917
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -1954,7 +1936,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1954
1936
1955
1937
fn internal_funding_locked ( & self , their_node_id : & PublicKey , msg : & msgs:: FundingLocked ) -> Result < ( ) , MsgHandleErrInternal > {
1956
1938
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1957
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1939
+ let channel_state = & mut * channel_state_lock;
1958
1940
match channel_state. by_id . entry ( msg. channel_id ) {
1959
1941
hash_map:: Entry :: Occupied ( mut chan) => {
1960
1942
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -1985,7 +1967,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
1985
1967
fn internal_shutdown ( & self , their_node_id : & PublicKey , msg : & msgs:: Shutdown ) -> Result < ( ) , MsgHandleErrInternal > {
1986
1968
let ( mut dropped_htlcs, chan_option) = {
1987
1969
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
1988
- let channel_state = channel_state_lock. borrow_parts ( ) ;
1970
+ let channel_state = & mut * channel_state_lock;
1989
1971
1990
1972
match channel_state. by_id . entry ( msg. channel_id . clone ( ) ) {
1991
1973
hash_map:: Entry :: Occupied ( mut chan_entry) => {
@@ -2032,7 +2014,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2032
2014
fn internal_closing_signed ( & self , their_node_id : & PublicKey , msg : & msgs:: ClosingSigned ) -> Result < ( ) , MsgHandleErrInternal > {
2033
2015
let ( tx, chan_option) = {
2034
2016
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2035
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2017
+ let channel_state = & mut * channel_state_lock;
2036
2018
match channel_state. by_id . entry ( msg. channel_id . clone ( ) ) {
2037
2019
hash_map:: Entry :: Occupied ( mut chan_entry) => {
2038
2020
if chan_entry. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2086,7 +2068,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2086
2068
//but we should prevent it anyway.
2087
2069
2088
2070
let ( mut pending_forward_info, mut channel_state_lock) = self . decode_update_add_htlc_onion ( msg) ;
2089
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2071
+ let channel_state = & mut * channel_state_lock;
2090
2072
2091
2073
match channel_state. by_id . entry ( msg. channel_id ) {
2092
2074
hash_map:: Entry :: Occupied ( mut chan) => {
@@ -2135,7 +2117,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2135
2117
fn internal_update_fulfill_htlc ( & self , their_node_id : & PublicKey , msg : & msgs:: UpdateFulfillHTLC ) -> Result < ( ) , MsgHandleErrInternal > {
2136
2118
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2137
2119
let htlc_source = {
2138
- let channel_state = channel_lock. borrow_parts ( ) ;
2120
+ let channel_state = & mut * channel_lock;
2139
2121
match channel_state. by_id . entry ( msg. channel_id ) {
2140
2122
hash_map:: Entry :: Occupied ( mut chan) => {
2141
2123
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2152,7 +2134,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2152
2134
2153
2135
fn internal_update_fail_htlc ( & self , their_node_id : & PublicKey , msg : & msgs:: UpdateFailHTLC ) -> Result < ( ) , MsgHandleErrInternal > {
2154
2136
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2155
- let channel_state = channel_lock. borrow_parts ( ) ;
2137
+ let channel_state = & mut * channel_lock;
2156
2138
match channel_state. by_id . entry ( msg. channel_id ) {
2157
2139
hash_map:: Entry :: Occupied ( mut chan) => {
2158
2140
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2167,7 +2149,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2167
2149
2168
2150
fn internal_update_fail_malformed_htlc ( & self , their_node_id : & PublicKey , msg : & msgs:: UpdateFailMalformedHTLC ) -> Result < ( ) , MsgHandleErrInternal > {
2169
2151
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2170
- let channel_state = channel_lock. borrow_parts ( ) ;
2152
+ let channel_state = & mut * channel_lock;
2171
2153
match channel_state. by_id . entry ( msg. channel_id ) {
2172
2154
hash_map:: Entry :: Occupied ( mut chan) => {
2173
2155
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2185,7 +2167,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2185
2167
2186
2168
fn internal_commitment_signed ( & self , their_node_id : & PublicKey , msg : & msgs:: CommitmentSigned ) -> Result < ( ) , MsgHandleErrInternal > {
2187
2169
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2188
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2170
+ let channel_state = & mut * channel_state_lock;
2189
2171
match channel_state. by_id . entry ( msg. channel_id ) {
2190
2172
hash_map:: Entry :: Occupied ( mut chan) => {
2191
2173
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2261,7 +2243,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2261
2243
fn internal_revoke_and_ack ( & self , their_node_id : & PublicKey , msg : & msgs:: RevokeAndACK ) -> Result < ( ) , MsgHandleErrInternal > {
2262
2244
let ( pending_forwards, mut pending_failures, short_channel_id) = {
2263
2245
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2264
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2246
+ let channel_state = & mut * channel_state_lock;
2265
2247
match channel_state. by_id . entry ( msg. channel_id ) {
2266
2248
hash_map:: Entry :: Occupied ( mut chan) => {
2267
2249
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2305,7 +2287,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2305
2287
2306
2288
fn internal_update_fee ( & self , their_node_id : & PublicKey , msg : & msgs:: UpdateFee ) -> Result < ( ) , MsgHandleErrInternal > {
2307
2289
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2308
- let channel_state = channel_lock. borrow_parts ( ) ;
2290
+ let channel_state = & mut * channel_lock;
2309
2291
match channel_state. by_id . entry ( msg. channel_id ) {
2310
2292
hash_map:: Entry :: Occupied ( mut chan) => {
2311
2293
if chan. get ( ) . get_their_node_id ( ) != * their_node_id {
@@ -2320,7 +2302,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2320
2302
2321
2303
fn internal_announcement_signatures ( & self , their_node_id : & PublicKey , msg : & msgs:: AnnouncementSignatures ) -> Result < ( ) , MsgHandleErrInternal > {
2322
2304
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2323
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2305
+ let channel_state = & mut * channel_state_lock;
2324
2306
2325
2307
match channel_state. by_id . entry ( msg. channel_id ) {
2326
2308
hash_map:: Entry :: Occupied ( mut chan) => {
@@ -2362,7 +2344,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2362
2344
2363
2345
fn internal_channel_reestablish ( & self , their_node_id : & PublicKey , msg : & msgs:: ChannelReestablish ) -> Result < ( ) , MsgHandleErrInternal > {
2364
2346
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2365
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2347
+ let channel_state = & mut * channel_state_lock;
2366
2348
2367
2349
match channel_state. by_id . entry ( msg. channel_id ) {
2368
2350
hash_map:: Entry :: Occupied ( mut chan) => {
@@ -2440,7 +2422,7 @@ impl<ChanSigner: ChannelKeys> ChannelManager<ChanSigner> {
2440
2422
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2441
2423
let their_node_id;
2442
2424
let err: Result < ( ) , _ > = loop {
2443
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2425
+ let channel_state = & mut * channel_state_lock;
2444
2426
2445
2427
match channel_state. by_id . entry ( channel_id) {
2446
2428
hash_map:: Entry :: Vacant ( _) => return Err ( APIError :: APIMisuseError { err : "Failed to find corresponding channel" } ) ,
@@ -2543,9 +2525,9 @@ impl<ChanSigner: ChannelKeys> ChainListener for ChannelManager<ChanSigner> {
2543
2525
let mut failed_channels = Vec :: new ( ) ;
2544
2526
{
2545
2527
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2546
- let channel_state = channel_lock. borrow_parts ( ) ;
2547
- let short_to_id = channel_state. short_to_id ;
2548
- let pending_msg_events = channel_state. pending_msg_events ;
2528
+ let channel_state = & mut * channel_lock;
2529
+ let short_to_id = & mut channel_state. short_to_id ;
2530
+ let pending_msg_events = & mut channel_state. pending_msg_events ;
2549
2531
channel_state. by_id . retain ( |_, channel| {
2550
2532
let chan_res = channel. block_connected ( header, height, txn_matched, indexes_of_txn_matched) ;
2551
2533
if let Ok ( Some ( funding_locked) ) = chan_res {
@@ -2621,9 +2603,9 @@ impl<ChanSigner: ChannelKeys> ChainListener for ChannelManager<ChanSigner> {
2621
2603
let mut failed_channels = Vec :: new ( ) ;
2622
2604
{
2623
2605
let mut channel_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2624
- let channel_state = channel_lock. borrow_parts ( ) ;
2625
- let short_to_id = channel_state. short_to_id ;
2626
- let pending_msg_events = channel_state. pending_msg_events ;
2606
+ let channel_state = & mut * channel_lock;
2607
+ let short_to_id = & mut channel_state. short_to_id ;
2608
+ let pending_msg_events = & mut channel_state. pending_msg_events ;
2627
2609
channel_state. by_id . retain ( |_, v| {
2628
2610
if v. block_disconnected ( header) {
2629
2611
if let Some ( short_id) = v. get_short_channel_id ( ) {
@@ -2800,9 +2782,9 @@ impl<ChanSigner: ChannelKeys> ChannelMessageHandler for ChannelManager<ChanSigne
2800
2782
let mut failed_payments = Vec :: new ( ) ;
2801
2783
{
2802
2784
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2803
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2804
- let short_to_id = channel_state. short_to_id ;
2805
- let pending_msg_events = channel_state. pending_msg_events ;
2785
+ let channel_state = & mut * channel_state_lock;
2786
+ let short_to_id = & mut channel_state. short_to_id ;
2787
+ let pending_msg_events = & mut channel_state. pending_msg_events ;
2806
2788
if no_connection_possible {
2807
2789
log_debug ! ( self , "Failing all channels with {} due to no_connection_possible" , log_pubkey!( their_node_id) ) ;
2808
2790
channel_state. by_id . retain ( |_, chan| {
@@ -2876,8 +2858,8 @@ impl<ChanSigner: ChannelKeys> ChannelMessageHandler for ChannelManager<ChanSigne
2876
2858
2877
2859
let _ = self . total_consistency_lock . read ( ) . unwrap ( ) ;
2878
2860
let mut channel_state_lock = self . channel_state . lock ( ) . unwrap ( ) ;
2879
- let channel_state = channel_state_lock. borrow_parts ( ) ;
2880
- let pending_msg_events = channel_state. pending_msg_events ;
2861
+ let channel_state = & mut * channel_state_lock;
2862
+ let pending_msg_events = & mut channel_state. pending_msg_events ;
2881
2863
channel_state. by_id . retain ( |_, chan| {
2882
2864
if chan. get_their_node_id ( ) == * their_node_id {
2883
2865
if !chan. have_received_message ( ) {
0 commit comments