uvco 0.1
Loading...
Searching...
No Matches
Classes | Functions
Timer

Classes

class  uvco::Ticker
 

Functions

Promise< void > uvco::sleep (const Loop &loop, uint64_t millis)
 A promise that resolves after at least millis milliseconds.
 
std::unique_ptr< Tickeruvco::tick (const Loop &loop, uint64_t millis, uint64_t count)
 

Detailed Description

Function Documentation

◆ sleep()

Promise< void > uvco::sleep ( const Loop loop,
uint64_t  millis 
)

A promise that resolves after at least millis milliseconds.

123 {
124 TimerAwaiter awaiter{loop, millis};
125 BOOST_VERIFY(!co_await awaiter);
126 co_await awaiter.close();
127 co_return;
128}

◆ tick()

std::unique_ptr< Ticker > uvco::tick ( const Loop loop,
uint64_t  millis,
uint64_t  count 
)

Yields a counter value, counting up from 0, at interval millis. If count is 0, the ticker will tick indefinitely.

If count is 0, the returned ticker must be stopped using co_await stop() in order to avoid leaking resources.

If count is not 0 (so that only the specified number of ticks is emitted), it must be co_awaited until it returns std::nullopt. If not co_awaited until std::nullopt is returned, resources may be leaked. In this case, close() needs not be called explicitly.

183 {
184 auto awaiter = std::make_unique<TimerAwaiter>(loop, millis, true);
185 return std::make_unique<TickerImpl>(std::move(awaiter), count);
186}