syndicate-nim/tests/test_timer.nim

27 lines
583 B
Nim
Raw Normal View History

2021-07-08 21:46:21 +00:00
# SPDX-License-Identifier: ISC
import std/[asyncdispatch, times]
import preserves, preserves/records
import syndicate
import syndicate/drivers/timers
syndicate plainTimerDemo:
boot timerDriver
spawn "laterThanDemo":
field(deadline, Time, getTime())
field(count, int, 0)
onAsserted(TimeLaterThan % deadline.get) do ():
echo "TimeLaterThan ticked for deadline ", deadline.get
count.set(count.get.succ)
if count.get < 5:
deadline.set(deadline.get + 500.milliseconds)
onStop:
echo "dataspace stopped"
quit(0)
runForever()