@@ -3542,27 +3542,34 @@ where
3542
3542
let mut peer_state_lock = peer_state_mutex. lock ( ) . unwrap ( ) ;
3543
3543
let peer_state = & mut * peer_state_lock;
3544
3544
for channel_id in channel_ids {
3545
- if !peer_state. channel_by_id . contains_key ( channel_id) {
3545
+ if let Some ( channel) = peer_state. channel_by_id . get_mut ( channel_id) {
3546
+ let mut config = channel. context . config ( ) ;
3547
+ config. apply ( config_update) ;
3548
+ if !channel. context . update_config ( & config) {
3549
+ continue ;
3550
+ }
3551
+ if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3552
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3553
+ } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3554
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3555
+ node_id : channel. context . get_counterparty_node_id ( ) ,
3556
+ msg,
3557
+ } ) ;
3558
+ }
3559
+ continue ;
3560
+ }
3561
+
3562
+ let context = if let Some ( channel) = peer_state. inbound_v1_channel_by_id . get_mut ( channel_id) {
3563
+ & mut channel. context
3564
+ } else if let Some ( channel) = peer_state. outbound_v1_channel_by_id . get_mut ( channel_id) {
3565
+ & mut channel. context
3566
+ } else {
3546
3567
return Err ( APIError :: ChannelUnavailable {
3547
3568
err : format ! ( "Channel with ID {} was not found for the passed counterparty_node_id {}" , log_bytes!( * channel_id) , counterparty_node_id) ,
3548
3569
} ) ;
3549
- }
3550
- }
3551
- for channel_id in channel_ids {
3552
- let channel = peer_state. channel_by_id . get_mut ( channel_id) . unwrap ( ) ;
3553
- let mut config = channel. context . config ( ) ;
3570
+ } ;
3571
+ let mut config = context. config ( ) ;
3554
3572
config. apply ( config_update) ;
3555
- if !channel. context . update_config ( & config) {
3556
- continue ;
3557
- }
3558
- if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3559
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3560
- } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3561
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3562
- node_id : channel. context . get_counterparty_node_id ( ) ,
3563
- msg,
3564
- } ) ;
3565
- }
3566
3573
}
3567
3574
Ok ( ( ) )
3568
3575
}
0 commit comments