Lely core libraries 2.3.4
lely::io::CoTimerQueueWait Class Referenceabstract

A wait operation, suitable for use with a timer queue, with a stackless coroutine as the completion task. More...

#include <co_tqueue.hpp>

Inheritance diagram for lely::io::CoTimerQueueWait:
Collaboration diagram for lely::io::CoTimerQueueWait:

Public Member Functions

 CoTimerQueueWait (ev_exec_t *exec) noexcept
 Constructs a wait operation.
 
 CoTimerQueueWait () noexcept
 Constructs a wait operation.
 
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).
 
- Public Member Functions inherited from lely::util::Coroutine
void restart () noexcept
 Resets the stackless coroutine so the next invocation starts at the beginning.
 
bool is_ready () const noexcept
 Returns true if the stackless coroutine has finished.
 
bool is_parent () const noexcept
 Returns true if the stackless coroutine is the parent of a fork.
 
bool is_child () const noexcept
 Returns true if the stackless coroutine is the child of a fork.
 

Additional Inherited Members

- Data Fields inherited from io_tqueue_wait
struct timespec value
 The absolute expiration time.
 
struct ev_task task
 The task (to be) submitted upon completion (or cancellation) of the wait operation.
 
int errc
 The error number, obtained as if by get_errc(), if an error occurred or the operation was canceled.
 

Detailed Description

A wait operation, suitable for use with a timer queue, with a stackless coroutine as the completion task.

Definition at line 38 of file co_tqueue.hpp.

Member Function Documentation

◆ operator()()

virtual void lely::io::CoTimerQueueWait::operator() ( ::std::error_code  ec)
pure virtualnoexcept

The coroutine to be executed once the wait operation completes (or is canceled).

Parameters
ecthe error code if an error occurred or the operation was canceled.

The documentation for this class was generated from the following file: