CommRaT 2.0.0
C++20 Real-Time Messaging Framework
Loading...
Searching...
No Matches
module_config.hpp File Reference
#include <string>
#include <chrono>
#include <optional>
#include <vector>
#include <rfl.hpp>

Go to the source code of this file.

Classes

struct  commrat::PeriodicInput
 Periodic execution - module runs on a timer, no input data. More...
 
struct  commrat::LoopInput
 Free-running loop - module runs as fast as possible, no input data. More...
 
struct  commrat::NoOutputConfig
 No output - Module only consumes inputs (logger, monitor, controller) Still needs addressing for CMD/WORK mailboxes. More...
 
struct  commrat::SimpleOutputConfig
 Simple output - All outputs share same system_id/instance_id Use when output types are distinct (no collisions) More...
 
struct  commrat::MultiOutputConfig
 Multi-output - Each output gets its own addressing Use when multiple outputs have same type (would collide with SimpleOutput) More...
 
struct  commrat::MultiOutputConfig::OutputAddress
 
struct  commrat::NoInputConfig
 No input - Periodic or LoopInput modules only. More...
 
struct  commrat::SingleInputConfig
 Single input - One source module. More...
 
struct  commrat::MultiInputConfig
 Multi-input - Multiple synchronized sources. More...
 
struct  commrat::MultiInputConfig::InputSource
 
struct  commrat::ModuleConfig
 

Namespaces

namespace  commrat
 CommRaT - Modern C++ Real-Time Communication Framework.
 

Typedefs

using commrat::OutputConfig = rfl::TaggedUnion<"output_type", NoOutputConfig, SimpleOutputConfig, MultiOutputConfig >
 
using commrat::InputConfig = rfl::TaggedUnion<"input_type", NoInputConfig, SingleInputConfig, MultiInputConfig >
 

Enumerations

enum class  commrat::MailboxType : uint8_t { commrat::CMD = 0 , commrat::WORK = 16 , commrat::PUBLISH = 32 , commrat::DATA = 48 }
 

Variables

constexpr uint32_t commrat::DEFAULT_CMD_SLOTS = 10
 
constexpr uint32_t commrat::DEFAULT_DATA_SLOTS = 50