Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

run_periodic

time.Clock.run_periodic

(P 
type
:
time.Period, first time.instant, period P, last time.instant, code Function unit)
 => 
u64
run the given `code` periodically at time `first+p*0`, `first+p*1`, `first+p*2`,
etc. until this clock has reached the time `last`.

In case any of the instants `first+p*0`, `first+p*1`, `first+p*2`, etc. happen to
be in the past when this is called or after the previous execution of `code`,
respectively, do not run `code` for that instant.

In case `period.is_infinity`, run `code` once unless `first > last`.

return the number of times the `code` was run.
Precondition
pre
  debug: period.is_infinity || period.as_duration > time.duration.ns 0
Postcondition
post
  debug: ((last >= first): result <= ((last - first) / period.as_duration) + 1)
  debug: ((last <  first): result = 0)

Type Parameters

0.095dev (GIT hash 09dff08de289bbb6f7136c7e2f8c66dcc1856bba)
last changed: 2026-04-16