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 Promise<void> close() = 0;
34};
35
46std::unique_ptr<Ticker> tick(const Loop &loop, uint64_t millis, uint64_t count);
47
49
50} // namespace uvco
Definition loop.h:26
Definition multipromise.h:133
Definition promise.h:76
Definition timer.h:24
virtual ~Ticker()=default
virtual MultiPromise< uint64_t > ticker()=0
Ticker()=default
virtual Promise< void > close()=0
Immediately stop the ticker.
Promise< void > sleep(const Loop &loop, uint64_t millis)
A promise that resolves after at least millis milliseconds.
Definition timer.cc:123
std::unique_ptr< Ticker > tick(const Loop &loop, uint64_t millis, uint64_t count)
Definition timer.cc:182
Definition async_work.cc:17