Skip to content

Commit 4fcc291

Browse files
committed
Re-order async background processor tasks
Prepare for parallelization.
1 parent aa2bdd6 commit 4fcc291

File tree

1 file changed

+52
-52
lines changed
  • lightning-background-processor/src

1 file changed

+52
-52
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,17 @@ where
815815
false
816816
};
817817

818+
// Channel manager timer tick.
819+
match check_sleeper(&mut last_freshness_call) {
820+
Some(false) => {
821+
log_trace!(logger, "Calling ChannelManager's timer_tick_occurred");
822+
channel_manager.get_cm().timer_tick_occurred();
823+
last_freshness_call = sleeper(FRESHNESS_TIMER);
824+
},
825+
Some(true) => break,
826+
None => {},
827+
}
828+
818829
// Persist channel manager.
819830
if channel_manager.get_cm().get_and_clear_needs_persistence() {
820831
log_trace!(logger, "Persisting ChannelManager...");
@@ -829,47 +840,6 @@ where
829840
log_trace!(logger, "Done persisting ChannelManager.");
830841
}
831842

832-
// Channel manager timer tick.
833-
match check_sleeper(&mut last_freshness_call) {
834-
Some(false) => {
835-
log_trace!(logger, "Calling ChannelManager's timer_tick_occurred");
836-
channel_manager.get_cm().timer_tick_occurred();
837-
last_freshness_call = sleeper(FRESHNESS_TIMER);
838-
},
839-
Some(true) => break,
840-
None => {},
841-
}
842-
843-
// Onion messenger timer tick.
844-
match check_sleeper(&mut last_onion_message_handler_call) {
845-
Some(false) => {
846-
if let Some(om) = &onion_messenger {
847-
log_trace!(logger, "Calling OnionMessageHandler's timer_tick_occurred");
848-
om.get_om().timer_tick_occurred();
849-
}
850-
last_onion_message_handler_call = sleeper(ONION_MESSAGE_HANDLER_TIMER);
851-
},
852-
Some(true) => break,
853-
None => {},
854-
}
855-
856-
// Peer manager timer tick. If we were interrupted on a mobile platform, we disconnect all peers.
857-
if await_slow {
858-
log_trace!(logger, "100ms sleep took more than a second, disconnecting peers.");
859-
peer_manager.as_ref().disconnect_all_peers();
860-
last_ping_call = sleeper(PING_TIMER);
861-
} else {
862-
match check_sleeper(&mut last_ping_call) {
863-
Some(false) => {
864-
log_trace!(logger, "Calling PeerManager's timer_tick_occurred");
865-
peer_manager.as_ref().timer_tick_occurred();
866-
last_ping_call = sleeper(PING_TIMER);
867-
},
868-
Some(true) => break,
869-
_ => {},
870-
}
871-
}
872-
873843
// Prune and persist the network graph if necessary.
874844
let prune_timer_elapsed = {
875845
match check_sleeper(&mut last_prune_call) {
@@ -953,17 +923,6 @@ where
953923
None => {},
954924
}
955925

956-
// Rebroadcast pending claims.
957-
match check_sleeper(&mut last_rebroadcast_call) {
958-
Some(false) => {
959-
log_trace!(logger, "Rebroadcasting monitor's pending claims");
960-
chain_monitor.rebroadcast_pending_claims();
961-
last_rebroadcast_call = sleeper(REBROADCAST_TIMER);
962-
},
963-
Some(true) => break,
964-
None => {},
965-
}
966-
967926
// Sweeper regeneration and broadcast.
968927
match check_sleeper(&mut last_sweeper_call) {
969928
Some(false) => {
@@ -976,6 +935,47 @@ where
976935
Some(true) => break,
977936
None => {},
978937
}
938+
939+
// Onion messenger timer tick.
940+
match check_sleeper(&mut last_onion_message_handler_call) {
941+
Some(false) => {
942+
if let Some(om) = &onion_messenger {
943+
log_trace!(logger, "Calling OnionMessageHandler's timer_tick_occurred");
944+
om.get_om().timer_tick_occurred();
945+
}
946+
last_onion_message_handler_call = sleeper(ONION_MESSAGE_HANDLER_TIMER);
947+
},
948+
Some(true) => break,
949+
None => {},
950+
}
951+
952+
// Peer manager timer tick. If we were interrupted on a mobile platform, we disconnect all peers.
953+
if await_slow {
954+
log_trace!(logger, "100ms sleep took more than a second, disconnecting peers.");
955+
peer_manager.as_ref().disconnect_all_peers();
956+
last_ping_call = sleeper(PING_TIMER);
957+
} else {
958+
match check_sleeper(&mut last_ping_call) {
959+
Some(false) => {
960+
log_trace!(logger, "Calling PeerManager's timer_tick_occurred");
961+
peer_manager.as_ref().timer_tick_occurred();
962+
last_ping_call = sleeper(PING_TIMER);
963+
},
964+
Some(true) => break,
965+
_ => {},
966+
}
967+
}
968+
969+
// Rebroadcast pending claims.
970+
match check_sleeper(&mut last_rebroadcast_call) {
971+
Some(false) => {
972+
log_trace!(logger, "Rebroadcasting monitor's pending claims");
973+
chain_monitor.rebroadcast_pending_claims();
974+
last_rebroadcast_call = sleeper(REBROADCAST_TIMER);
975+
},
976+
Some(true) => break,
977+
None => {},
978+
}
979979
}
980980
log_trace!(logger, "Terminating background processor.");
981981

0 commit comments

Comments
 (0)