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).
 
- 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.
 
struct can_errerr
 The address at which to store the CAN error frame.
 
struct timespectp
 The address at which to store the system time at which the CAN frame or CAN error frame was received.
 
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: