This is the central interface between ROSaic and the Rx(s), managing I/O operations such as reading messages and sending commands.. More...
#include <async_manager.hpp>

Public Member Functions | |
| AsyncManager (ROSaicNodeBase *node, TelegramQueue *telegramQueue) | |
| Class constructor. More... | |
| void | close () |
| bool | connect () |
| Connects the stream. More... | |
| bool | connected () |
| void | send (const std::string &cmd) |
| Sends commands to the receiver. More... | |
| void | setPort (const std::string &port) |
| ~AsyncManager () | |
Public Member Functions inherited from io::AsyncManagerBase | |
| bool | connected () |
| virtual | ~AsyncManagerBase () |
Private Member Functions | |
| void | readSbf (std::size_t length) |
| void | readSbfHeader () |
| void | readString () |
| void | readStringElements () |
| template<uint8_t index> | |
| void | readSync () |
| void | readUnknown () |
| void | receive () |
| void | resync () |
| void | runIoContext () |
| void | runWatchdog () |
| void | write (const std::string &cmd) |
Private Attributes | |
| std::array< uint8_t, 1 > | buf_ |
| bool | connected_ = false |
| std::shared_ptr< boost::asio::io_context > | ioContext_ |
| IoType | ioInterface_ |
| std::thread | ioThread_ |
| ROSaicNodeBase * | node_ |
| Pointer to the node. More... | |
| Timestamp | recvStamp_ |
| Timestamp of receiving buffer. More... | |
| std::atomic< bool > | running_ |
| std::shared_ptr< Telegram > | telegram_ |
| Telegram. More... | |
| TelegramQueue * | telegramQueue_ |
| TelegramQueue. More... | |
| std::thread | watchdogThread_ |
This is the central interface between ROSaic and the Rx(s), managing I/O operations such as reading messages and sending commands..
IoType is either boost::asio::serial_port or boost::asio::tcp::ip
Definition at line 111 of file async_manager.hpp.
| io::AsyncManager< IoType >::AsyncManager | ( | ROSaicNodeBase * | node, |
| TelegramQueue * | telegramQueue | ||
| ) |
Class constructor.
| [in] | node | Pointer to node |
| [in] | telegramQueue | Telegram queue |
Definition at line 167 of file async_manager.hpp.
| io::AsyncManager< IoType >::~AsyncManager |
Definition at line 176 of file async_manager.hpp.
|
virtual |
Implements io::AsyncManagerBase.
Definition at line 198 of file async_manager.hpp.
|
virtual |
Connects the stream.
Implements io::AsyncManagerBase.
Definition at line 183 of file async_manager.hpp.
| bool io::AsyncManager< IoType >::connected |
Definition at line 235 of file async_manager.hpp.
|
private |
Definition at line 543 of file async_manager.hpp.
|
private |
Definition at line 501 of file async_manager.hpp.
|
private |
Definition at line 591 of file async_manager.hpp.
|
private |
Definition at line 599 of file async_manager.hpp.
|
private |
Definition at line 328 of file async_manager.hpp.
|
private |
Definition at line 583 of file async_manager.hpp.
|
private |
Definition at line 241 of file async_manager.hpp.
|
private |
Definition at line 320 of file async_manager.hpp.
|
private |
Definition at line 252 of file async_manager.hpp.
|
private |
Definition at line 260 of file async_manager.hpp.
|
virtual |
Sends commands to the receiver.
Implements io::AsyncManagerBase.
Definition at line 221 of file async_manager.hpp.
| void io::AsyncManager< IoType >::setPort | ( | const std::string & | port | ) |
Definition at line 215 of file async_manager.hpp.
|
private |
Definition at line 298 of file async_manager.hpp.
|
private |
Definition at line 157 of file async_manager.hpp.
|
private |
Definition at line 155 of file async_manager.hpp.
|
private |
Definition at line 149 of file async_manager.hpp.
|
private |
Definition at line 150 of file async_manager.hpp.
|
private |
Definition at line 152 of file async_manager.hpp.
|
private |
Pointer to the node.
Definition at line 148 of file async_manager.hpp.
|
private |
Timestamp of receiving buffer.
Definition at line 159 of file async_manager.hpp.
|
private |
Definition at line 151 of file async_manager.hpp.
|
private |
Definition at line 161 of file async_manager.hpp.
|
private |
TelegramQueue.
Definition at line 163 of file async_manager.hpp.
|
private |
Definition at line 153 of file async_manager.hpp.