Sets a function to be called at regular intervals, with the given priority.
The function is called repeatedly until it returns false, at which point the timeout is
automatically destroyed and the function will not be called again. The notify
function is called when the timeout is
destroyed. The first call to the function will be at the end of the first interval
.
Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays).
This internally creates a main loop source using TimeoutSource and attaches it to the main loop context using attach. You can do these steps manually if you need greater control.
The interval given in terms of monotonic time, not wall clock time. See get_monotonic_time.
priority |
the priority of the timeout source. Typically this will be in the range between DEFAULT and HIGH. |
interval |
the time between calls to the function, in milliseconds (1/1000ths of a second) |
function |
function to call |
data |
data to pass to |
notify |
function to call when the timeout is removed, or null |
the ID (greater than 0) of the event source. |