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

A CAN error frame read operation suitable for use with a CAN frame router, with a stackless coroutine as the completion task. More...

#include <co_can_rt.hpp>

Inheritance diagram for lely::io::CoCanRouterReadError:
Collaboration diagram for lely::io::CoCanRouterReadError:

Public Member Functions

 CoCanRouterReadError () noexcept
 Constructs a CAN error frame read operation.
 
ev::Executor get_executor () const noexcept
 Returns the executor to which the completion task is (to be) submitted.
 
virtual void operator() (const can_err *err, ::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_rt_read_err
struct ev_task task
 The task (to be) submitted upon completion (or cancellation) of the read operation.
 
struct io_can_rt_read_err_result r
 The result of the read operation.
 

Detailed Description

A CAN error frame read operation suitable for use with a CAN frame router, with a stackless coroutine as the completion task.

Definition at line 80 of file co_can_rt.hpp.

Member Function Documentation

◆ operator()()

virtual void lely::io::CoCanRouterReadError::operator() ( const can_err err,
::std::error_code  ec 
)
pure virtualnoexcept

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

Parameters
erra pointer to the received CAN error frame, or 0 on error (or if the operation is canceled). In the latter case, the error number is stored in ec.
ecthe error code if err is 0.

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