24 #ifndef LELY_IO2_CO_TIMER_HPP_
25 #define LELY_IO2_CO_TIMER_HPP_
43 auto overrun = wait->r.result;
71 virtual void operator()(
int overrun, ::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 an I/O timer, with a stackless coroutine as the completion ta...
CoTimerWait() noexcept
Constructs a wait operation.
CoTimerWait(ev_exec_t *exec) noexcept
Constructs a wait operation.
virtual void operator()(int overrun, ::std::error_code ec) noexcept=0
The coroutine to be executed once the wait operation completes (or is canceled).
ev::Executor get_executor() const noexcept
Returns the executor to which the completion task is (to be) submitted.
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.
struct io_timer_wait * io_timer_wait_from_task(struct ev_task *task)
Obtains a pointer to an I/O timer wait operation from a pointer to its completion task.
#define IO_TIMER_WAIT_INIT(exec, func)
The static initializer for io_timer_wait.
::std::error_code make_error_code(SdoErrc e) noexcept
Creates an error code corresponding to an SDO abort code.
ev_exec_t * exec
A pointer to the executor to which the task is (to be) submitted.
A wait operation suitable for use with an I/O timer.
struct ev_task task
The task (to be) submitted upon completion (or cancellation) of the wait operation.
This header file is part of the I/O library; it contains the C++ interface for the abstract timer.