Skip to content

Periodic events should wake up less often

Right now, we have a few periodic events that probe for some condition once a second. That's not great! Instead we should have them run as needed based on a real scheduler of some kind, possibly with a mechanism to run them ahead-of-time.

For any periodic events that can't be made to run less often, we need to use something like Tor's Dormant mode to disable them when we're offline (see #71).

Subtasks.

  • Generic "periodic event that can be turned on and off" implementation. (est 16h)
  • continually_expire_channels (est 2h)
  • continually_launch_timeout_testing_circuits (est 2h)
  • continually_build_preemptive_circuits (est 8h)
  • circmgr::mgr::spawn_expiration_task (est 2h)
  • update_persistent_state (est 2h)
  • Directory updater task. (est 8h)
Edited by Nick Mathewson