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

A CAN channel read operation with a stackless coroutine as the completion task. More...

#include <co_can.hpp>

Inheritance diagram for lely::io::CoCanChannelRead:
Collaboration diagram for lely::io::CoCanChannelRead:

Public Member Functions

 CoCanChannelRead (can_msg *msg, can_err *err=nullptr, ::std::chrono::nanoseconds *dp=nullptr, ev_exec_t *exec=nullptr) noexcept
 Constructs a read operation.
 
ev::Executor get_executor () const noexcept
 Returns the executor to which the completion task is (to be) submitted.
 
virtual void operator() (int result, ::std::error_code ec) noexcept=0
 The coroutine to be executed once the read operation completes (or is canceled). More...
 
- 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_can_chan_read
struct can_msgmsg
 The address at which to store the CAN frame. More...
 
struct can_errerr
 The address at which to store the CAN error frame. More...
 
struct timespec * tp
 The address at which to store the system time at which the CAN frame or CAN error frame was received. More...
 
struct ev_task task
 The task (to be) submitted upon completion (or cancellation) of the read operation.
 
struct io_can_chan_read_result r
 The result of the read operation.
 

Detailed Description

A CAN channel read operation with a stackless coroutine as the completion task.

Definition at line 38 of file co_can.hpp.

Member Function Documentation

◆ operator()()

virtual void lely::io::CoCanChannelRead::operator() ( int  result,
::std::error_code  ec 
)
pure virtualnoexcept

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

Parameters
result1 if a CAN frame is received, 0 if an error frame is received, or -1 on error (or if the operation is canceled).
ecthe error code, or 0 on success.

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