syndicate-nim/tests/test_timer.nim

28 lines
678 B
Nim
Raw Normal View History

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