27 lines
583 B
Nim
27 lines
583 B
Nim
|
# 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()
|