@@ -797,6 +797,17 @@ where
797797 false
798798 } ;
799799
800+ // Channel manager timer tick.
801+ match check_sleeper ( & mut last_freshness_call) {
802+ Some ( false ) => {
803+ log_trace ! ( logger, "Calling ChannelManager's timer_tick_occurred" ) ;
804+ channel_manager. get_cm ( ) . timer_tick_occurred ( ) ;
805+ last_freshness_call = sleeper ( FRESHNESS_TIMER ) ;
806+ } ,
807+ Some ( true ) => break ,
808+ None => { } ,
809+ }
810+
800811 // Persist channel manager.
801812 if channel_manager. get_cm ( ) . get_and_clear_needs_persistence ( ) {
802813 log_trace ! ( logger, "Persisting ChannelManager..." ) ;
@@ -811,47 +822,6 @@ where
811822 log_trace ! ( logger, "Done persisting ChannelManager." ) ;
812823 }
813824
814- // Channel manager timer tick.
815- match check_sleeper ( & mut last_freshness_call) {
816- Some ( false ) => {
817- log_trace ! ( logger, "Calling ChannelManager's timer_tick_occurred" ) ;
818- channel_manager. get_cm ( ) . timer_tick_occurred ( ) ;
819- last_freshness_call = sleeper ( FRESHNESS_TIMER ) ;
820- } ,
821- Some ( true ) => break ,
822- None => { } ,
823- }
824-
825- // Onion messenger timer tick.
826- match check_sleeper ( & mut last_onion_message_handler_call) {
827- Some ( false ) => {
828- if let Some ( om) = & onion_messenger {
829- log_trace ! ( logger, "Calling OnionMessageHandler's timer_tick_occurred" ) ;
830- om. get_om ( ) . timer_tick_occurred ( ) ;
831- }
832- last_onion_message_handler_call = sleeper ( ONION_MESSAGE_HANDLER_TIMER ) ;
833- } ,
834- Some ( true ) => break ,
835- None => { } ,
836- }
837-
838- // Peer manager timer tick. If we were interrupted on a mobile platform, we disconnect all peers.
839- if await_slow {
840- log_trace ! ( logger, "100ms sleep took more than a second, disconnecting peers." ) ;
841- peer_manager. as_ref ( ) . disconnect_all_peers ( ) ;
842- last_ping_call = sleeper ( PING_TIMER ) ;
843- } else {
844- match check_sleeper ( & mut last_ping_call) {
845- Some ( false ) => {
846- log_trace ! ( logger, "Calling PeerManager's timer_tick_occurred" ) ;
847- peer_manager. as_ref ( ) . timer_tick_occurred ( ) ;
848- last_ping_call = sleeper ( PING_TIMER ) ;
849- } ,
850- Some ( true ) => break ,
851- _ => { } ,
852- }
853- }
854-
855825 // Prune and persist the network graph if necessary.
856826 let prune_timer_elapsed = {
857827 match check_sleeper ( & mut last_prune_call) {
@@ -935,17 +905,6 @@ where
935905 None => { } ,
936906 }
937907
938- // Rebroadcast pending claims.
939- match check_sleeper ( & mut last_rebroadcast_call) {
940- Some ( false ) => {
941- log_trace ! ( logger, "Rebroadcasting monitor's pending claims" ) ;
942- chain_monitor. rebroadcast_pending_claims ( ) ;
943- last_rebroadcast_call = sleeper ( REBROADCAST_TIMER ) ;
944- } ,
945- Some ( true ) => break ,
946- None => { } ,
947- }
948-
949908 // Sweeper regeneration and broadcast.
950909 match check_sleeper ( & mut last_sweeper_call) {
951910 Some ( false ) => {
@@ -958,6 +917,47 @@ where
958917 Some ( true ) => break ,
959918 None => { } ,
960919 }
920+
921+ // Onion messenger timer tick.
922+ match check_sleeper ( & mut last_onion_message_handler_call) {
923+ Some ( false ) => {
924+ if let Some ( om) = & onion_messenger {
925+ log_trace ! ( logger, "Calling OnionMessageHandler's timer_tick_occurred" ) ;
926+ om. get_om ( ) . timer_tick_occurred ( ) ;
927+ }
928+ last_onion_message_handler_call = sleeper ( ONION_MESSAGE_HANDLER_TIMER ) ;
929+ } ,
930+ Some ( true ) => break ,
931+ None => { } ,
932+ }
933+
934+ // Peer manager timer tick. If we were interrupted on a mobile platform, we disconnect all peers.
935+ if await_slow {
936+ log_trace ! ( logger, "100ms sleep took more than a second, disconnecting peers." ) ;
937+ peer_manager. as_ref ( ) . disconnect_all_peers ( ) ;
938+ last_ping_call = sleeper ( PING_TIMER ) ;
939+ } else {
940+ match check_sleeper ( & mut last_ping_call) {
941+ Some ( false ) => {
942+ log_trace ! ( logger, "Calling PeerManager's timer_tick_occurred" ) ;
943+ peer_manager. as_ref ( ) . timer_tick_occurred ( ) ;
944+ last_ping_call = sleeper ( PING_TIMER ) ;
945+ } ,
946+ Some ( true ) => break ,
947+ _ => { } ,
948+ }
949+ }
950+
951+ // Rebroadcast pending claims.
952+ match check_sleeper ( & mut last_rebroadcast_call) {
953+ Some ( false ) => {
954+ log_trace ! ( logger, "Rebroadcasting monitor's pending claims" ) ;
955+ chain_monitor. rebroadcast_pending_claims ( ) ;
956+ last_rebroadcast_call = sleeper ( REBROADCAST_TIMER ) ;
957+ } ,
958+ Some ( true ) => break ,
959+ None => { } ,
960+ }
961961 }
962962 log_trace ! ( logger, "Terminating background processor." ) ;
963963
0 commit comments