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.