@@ -64,8 +64,8 @@ use alloc::vec::Vec;
64
64
/// * Monitoring whether the [`ChannelManager`] needs to be re-persisted to disk, and if so,
65
65
/// writing it to disk/backups by invoking the callback given to it at startup.
66
66
/// [`ChannelManager`] persistence should be done in the background.
67
- /// * Calling [`ChannelManager::timer_tick_occurred`] and [`PeerManager::timer_tick_occurred `]
68
- /// at the appropriate intervals.
67
+ /// * Calling [`ChannelManager::timer_tick_occurred`], [`ChainMonitor::rebroadcast_pending_claims `]
68
+ /// and [`PeerManager::timer_tick_occurred`] at the appropriate intervals.
69
69
/// * Calling [`NetworkGraph::remove_stale_channels_and_tracking`] (if a [`GossipSync`] with a
70
70
/// [`NetworkGraph`] is provided to [`BackgroundProcessor::start`]).
71
71
///
@@ -314,6 +314,8 @@ macro_rules! define_run_body {
314
314
if $timer_elapsed( & mut last_freshness_call, FRESHNESS_TIMER ) {
315
315
log_trace!( $logger, "Calling ChannelManager's timer_tick_occurred" ) ;
316
316
$channel_manager. timer_tick_occurred( ) ;
317
+ log_trace!( $logger, "Calling ChainMonitor's rebroadcast_pending_claims" ) ;
318
+ $chain_monitor. rebroadcast_pending_claims( ) ;
317
319
last_freshness_call = $get_timer( FRESHNESS_TIMER ) ;
318
320
}
319
321
if await_slow {
@@ -1189,19 +1191,22 @@ mod tests {
1189
1191
1190
1192
#[ test]
1191
1193
fn test_timer_tick_called ( ) {
1192
- // Test that ChannelManager's and PeerManager's `timer_tick_occurred` is called every
1193
- // `FRESHNESS_TIMER`.
1194
+ // Test that `ChannelManager::timer_tick_occurred` and
1195
+ // `ChainMonitor::rebroadcast_pending_claims` is called every `FRESHNESS_TIMER` and
1196
+ // `PeerManager::timer_tick_occurred` every `PING_TIMER`.
1194
1197
let nodes = create_nodes ( 1 , "test_timer_tick_called" . to_string ( ) ) ;
1195
1198
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1196
1199
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1197
1200
let event_handler = |_: _ | { } ;
1198
1201
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1199
1202
loop {
1200
1203
let log_entries = nodes[ 0 ] . logger . lines . lock ( ) . unwrap ( ) ;
1201
- let desired_log = "Calling ChannelManager's timer_tick_occurred" . to_string ( ) ;
1202
- let second_desired_log = "Calling PeerManager's timer_tick_occurred" . to_string ( ) ;
1203
- if log_entries. get ( & ( "lightning_background_processor" . to_string ( ) , desired_log) ) . is_some ( ) &&
1204
- log_entries. get ( & ( "lightning_background_processor" . to_string ( ) , second_desired_log) ) . is_some ( ) {
1204
+ let desired_log_1 = "Calling ChannelManager's timer_tick_occurred" . to_string ( ) ;
1205
+ let desired_log_2 = "Calling ChainMonitor's rebroadcast_pending_claims" . to_string ( ) ;
1206
+ let desired_log_3 = "Calling PeerManager's timer_tick_occurred" . to_string ( ) ;
1207
+ if log_entries. get ( & ( "lightning_background_processor" . to_string ( ) , desired_log_1) ) . is_some ( ) &&
1208
+ log_entries. get ( & ( "lightning_background_processor" . to_string ( ) , desired_log_2) ) . is_some ( ) &&
1209
+ log_entries. get ( & ( "lightning_background_processor" . to_string ( ) , desired_log_3) ) . is_some ( ) {
1205
1210
break
1206
1211
}
1207
1212
}
0 commit comments