The RMaster software component is the centerpiece of the whole software architecture. All other components, like user commands, hardware control and the regulation kernel, are interconnected and exchange messages via RMaster.
RMaster is based on the Boost Asio library and has been implemented with a proactor design. This enables RMaster to respond to critical events in a timely manner and to pass on those events to the other components as quickly as possible while using only a single thread. Connections via UART, TCP, Pipes, etc. are supported and can be combined to establish further connections.
Additionally, RMaster passes messages only on to clients that have requested them by the use of LiteComm package format and communication standard. This measure prevents clogging of communication channels.