28 lines
678 B
Nim
28 lines
678 B
Nim
# SPDX-FileCopyrightText: 2021 ☭ Emery Hemingway
|
|
# SPDX-License-Identifier: Unlicense
|
|
|
|
import std/[asyncdispatch, monotimes, times]
|
|
import preserves, preserves/records
|
|
import syndicate
|
|
|
|
import syndicate/drivers/timers
|
|
|
|
syndicate plainTimerDemo:
|
|
boot timerDriver
|
|
|
|
spawn "laterThanDemo":
|
|
field(deadline, MonoTime, getMonoTime())
|
|
field(count, int, 0)
|
|
|
|
onAsserted(prsTimeLaterThan(deadline.get)) do ():
|
|
echo "TimeLaterThan ticked for deadline ", deadline.get
|
|
count.set(count.get.succ)
|
|
if count.get < 5:
|
|
deadline.set(getMonoTime() + initDuration(milliseconds = 500))
|
|
|
|
onStop:
|
|
echo "dataspace stopped"
|
|
quit(0)
|
|
|
|
runForever()
|