- tokio::spawn(async move {
- let mut previous_announcement_count = 0u64;
- let mut previous_update_count = 0u64;
- let mut is_caught_up_with_gossip = false;
-
- let mut i = 0u32;
- let mut latest_new_gossip_time = Instant::now();
- let mut needs_to_notify_persister = false;
-
- loop {
- i += 1; // count the background activity
- let sleep = tokio::time::sleep(Duration::from_secs(5));
- sleep.await;
-
- {
- let counter = router.counter.read().unwrap();
- let total_message_count = counter.channel_announcements + counter.channel_updates;
- let new_message_count = total_message_count - previous_announcement_count - previous_update_count;
-
- let was_previously_caught_up_with_gossip = is_caught_up_with_gossip;
- // TODO: make new message threshold (20) adjust based on connected peer count
- is_caught_up_with_gossip = new_message_count < 20 && previous_announcement_count > 0 && previous_update_count > 0;
- if new_message_count > 0 {
- latest_new_gossip_time = Instant::now();
- }
-
- // if we either aren't caught up, or just stopped/started being caught up
- if !is_caught_up_with_gossip || (is_caught_up_with_gossip != was_previously_caught_up_with_gossip) {
- log_info!(
- logger,
- "gossip count (iteration {}): {} (delta: {}):\n\tannouncements: {}\n\t\tmismatched scripts: {}\n\tupdates: {}\n\t\tno HTLC max: {}\n",
- i,
- total_message_count,
- new_message_count,
- counter.channel_announcements,
- counter.channel_announcements_with_mismatched_scripts,
- counter.channel_updates,
- counter.channel_updates_without_htlc_max_msats
- );
- } else {
- log_info!(logger, "Monitoring for gossip…")
- }
-
- if is_caught_up_with_gossip && !was_previously_caught_up_with_gossip {
- log_info!(logger, "caught up with gossip!");
- needs_to_notify_persister = true;
- } else if !is_caught_up_with_gossip && was_previously_caught_up_with_gossip {
- log_info!(logger, "Received new messages since catching up with gossip!");
- }
+ let mut previous_announcement_count = 0u64;
+ let mut previous_update_count = 0u64;
+ let mut is_caught_up_with_gossip = false;
+
+ let mut i = 0u32;
+ let mut latest_new_gossip_time = Instant::now();
+ let mut needs_to_notify_persister = false;
+
+ loop {
+ i += 1; // count the background activity
+ let sleep = tokio::time::sleep(Duration::from_secs(5));
+ sleep.await;
+
+ {
+ let counter = router.counter.read().unwrap();
+ let total_message_count = counter.channel_announcements + counter.channel_updates;
+ let new_message_count = total_message_count - previous_announcement_count - previous_update_count;
+
+ let was_previously_caught_up_with_gossip = is_caught_up_with_gossip;
+ // TODO: make new message threshold (20) adjust based on connected peer count
+ is_caught_up_with_gossip = new_message_count < 20 && previous_announcement_count > 0 && previous_update_count > 0;
+ if new_message_count > 0 {
+ latest_new_gossip_time = Instant::now();
+ }