# 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()