25#ifndef LELY_IO2_CO_TQUEUE_HPP_
26#define LELY_IO2_CO_TQUEUE_HPP_
45 ::std::error_code ec = util::make_error_code(wait->errc);
70 virtual void operator()(::std::error_code ec)
noexcept = 0;
An abstract task executor. This class is a wrapper around #ev_exec_t*.
A wait operation, suitable for use with a timer queue, with a stackless coroutine as the completion t...
ev::Executor get_executor() const noexcept
Returns the executor to which the completion task is (to be) submitted.
virtual void operator()(::std::error_code ec) noexcept=0
The coroutine to be executed once the wait operation completes (or is canceled).
CoTimerQueueWait(ev_exec_t *exec) noexcept
Constructs a wait operation.
CoTimerQueueWait() noexcept
Constructs a wait operation.
The parent class for function objects used as stackless coroutines.
This header file is part of the utilities library; it contains the C++ implementation of stackless co...
const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
ev_exec_t * exec
A pointer to the executor to which the task is (to be) submitted.
A wait operation suitable for use with a timer queue.
struct ev_task task
The task (to be) submitted upon completion (or cancellation) of the wait operation.
struct io_tqueue_wait * io_tqueue_wait_from_task(struct ev_task *task)
Obtains a pointer to a timer queue wait operation from a pointer to its completion task.
#define IO_TQUEUE_WAIT_INIT(sec, nsec, exec, func)
The static initializer for io_tqueue_wait.
This header file is part of the I/O library; it contains the C++ interface for the timer queue.