#include <asio_base.h>

Public Member Functions | |
| virtual FrameListenerConstSharedPtr | createMsgListener (const Frame::Header &h, const FrameFunc &delegate) |
| virtual FrameListenerConstSharedPtr | createMsgListener (const FrameFunc &delegate) |
| virtual StateListenerConstSharedPtr | createStateListener (const StateFunc &delegate) |
| State | getState () |
| virtual void | run () |
| virtual bool | send (const Frame &msg) |
| virtual void | shutdown () |
| virtual | ~AsioDriver () |
Public Member Functions inherited from can::DriverInterface | |
| virtual bool | doesLoopBack () const =0 |
| virtual bool | init (const std::string &device, bool loopback)=0 |
| virtual bool | init (const std::string &device, bool loopback, SettingsConstSharedPtr settings) |
| virtual bool | recover ()=0 |
| virtual bool | translateError (unsigned int internal_error, std::string &str)=0 |
| virtual | ~DriverInterface () |
Public Member Functions inherited from can::CommInterface | |
| template<typename Instance , typename Callable > | |
| FrameListenerConstSharedPtr | createMsgListenerM (const Frame::Header &header, Instance inst, Callable callable) |
| template<typename Instance , typename Callable > | |
| FrameListenerConstSharedPtr | createMsgListenerM (Instance inst, Callable callable) |
| virtual | ~CommInterface () |
Public Member Functions inherited from can::StateInterface | |
| template<typename Instance , typename Callable > | |
| StateListenerConstSharedPtr | createStateListenerM (Instance inst, Callable callable) |
| virtual | ~StateInterface () |
Protected Member Functions | |
| AsioDriver () | |
| void | dispatchFrame (const Frame &msg) |
| virtual bool | enqueue (const Frame &msg)=0 |
| void | frameReceived (const boost::system::error_code &error) |
| void | setDriverState (State::DriverState state) |
| void | setErrorCode (const boost::system::error_code &error) |
| void | setInternalError (unsigned int internal_error) |
| void | setNotReady () |
| virtual void | triggerReadSome ()=0 |
Protected Attributes | |
| Frame | input_ |
| boost::asio::io_service | io_service_ |
| Socket | socket_ |
| boost::asio::strand | strand_ |
Private Types | |
| using | FrameDispatcher = FilteredDispatcher< unsigned int, CommInterface::FrameListener > |
| using | StateDispatcher = SimpleDispatcher< StateInterface::StateListener > |
Private Attributes | |
| FrameDispatcher | frame_dispatcher_ |
| boost::mutex | socket_mutex_ |
| State | state_ |
| StateDispatcher | state_dispatcher_ |
| boost::mutex | state_mutex_ |
Additional Inherited Members | |
Public Types inherited from can::CommInterface | |
| using | FrameDelegate = DelegateHelper< FrameFunc > |
| using | FrameFunc = std::function< void(const Frame &)> |
| using | FrameListener = Listener< const FrameFunc, const Frame & > |
| using | FrameListenerConstSharedPtr = FrameListener::ListenerConstSharedPtr |
Public Types inherited from can::StateInterface | |
| using | StateDelegate = DelegateHelper< StateFunc > |
| using | StateFunc = std::function< void(const State &)> |
| using | StateListener = Listener< const StateFunc, const State & > |
| using | StateListenerConstSharedPtr = StateListener::ListenerConstSharedPtr |
Definition at line 14 of file asio_base.h.
|
private |
Definition at line 15 of file asio_base.h.
|
private |
Definition at line 16 of file asio_base.h.
|
inlineprotected |
Definition at line 76 of file asio_base.h.
|
inlinevirtual |
Definition at line 81 of file asio_base.h.
|
inlinevirtual |
acquire a listener for the specified delegate, that will get called for messages with demanded ID
| [in] | header | CAN header to restrict listener on |
| [in] | delegate | delegate to be bound listener |
Implements can::CommInterface.
Definition at line 122 of file asio_base.h.
|
inlinevirtual |
acquire a listener for the specified delegate, that will get called for all messages
| [in] | delegate | delegate to be bound by the listener |
Implements can::CommInterface.
Definition at line 119 of file asio_base.h.
|
inlinevirtual |
acquire a listener for the specified delegate, that will get called for all state changes
| [in] | delegate | delegate to be bound by the listener |
Implements can::StateInterface.
Definition at line 125 of file asio_base.h.
|
inlineprotected |
Definition at line 37 of file asio_base.h.
|
protectedpure virtual |
Implemented in can::SocketCANInterface.
|
inlineprotected |
Definition at line 66 of file asio_base.h.
|
inlinevirtual |
Implements can::DriverInterface.
Definition at line 83 of file asio_base.h.
|
inlinevirtual |
Implements can::DriverInterface.
Definition at line 87 of file asio_base.h.
|
inlinevirtual |
enqueue frame for sending
| [in] | msg | message to be enqueued |
Implements can::CommInterface.
Definition at line 107 of file asio_base.h.
|
inlineprotected |
Definition at line 55 of file asio_base.h.
|
inlineprotected |
Definition at line 40 of file asio_base.h.
|
inlineprotected |
Definition at line 47 of file asio_base.h.
|
inlineprotected |
Definition at line 62 of file asio_base.h.
|
inlinevirtual |
shutdown interface
Implements can::DriverInterface.
Definition at line 111 of file asio_base.h.
|
protectedpure virtual |
Implemented in can::SocketCANInterface.
|
private |
Definition at line 17 of file asio_base.h.
|
protected |
Definition at line 32 of file asio_base.h.
|
protected |
Definition at line 25 of file asio_base.h.
|
protected |
Definition at line 31 of file asio_base.h.
|
private |
Definition at line 22 of file asio_base.h.
|
private |
Definition at line 20 of file asio_base.h.
|
private |
Definition at line 18 of file asio_base.h.
|
private |
Definition at line 21 of file asio_base.h.
|
protected |
Definition at line 29 of file asio_base.h.