uvco 0.1
Loading...
Searching...
No Matches
timer.h
Go to the documentation of this file.
1// uvco (c) 2023 Lewin Bormann. See LICENSE for specific terms.
2
3#pragma once
4
5#include <uv.h>
6
9#include "uvco/run.h"
10
11#include <cstdint>
12#include <memory>
13
14namespace uvco {
15
18
20Promise<void> sleep(const Loop &loop, uint64_t millis);
21
24class Ticker {
25public:
26 Ticker() = default;
27 virtual ~Ticker() = default;
33 virtual void close() = 0;
34};
35
38std::unique_ptr<Ticker> tick(const Loop &loop, uint64_t millis, uint64_t count);
39
41
42} // namespace uvco
Definition loop.h:26
Definition multipromise.h:127
Definition promise.h:49
virtual void close()=0
Immediately stop the ticker.
virtual ~Ticker()=default
virtual MultiPromise< uint64_t > ticker()=0
Ticker()=default
Promise< void > sleep(const Loop &loop, uint64_t millis)
A promise that resolves after at least millis milliseconds.
Definition timer.cc:94
std::unique_ptr< Ticker > tick(const Loop &loop, uint64_t millis, uint64_t count)
Definition timer.cc:163
Definition async_work.cc:18