![]() |
CommRaT 2.0.0
C++20 Real-Time Messaging Framework
|
Phase 8: Mailbox Infrastructure Builder. More...
#include <commrat/module/mailbox/mailbox_infrastructure_builder.hpp>
Static Protected Member Functions | |
| static auto | create_mailbox_infrastructure (const ModuleConfig &config) |
| Create mailbox infrastructure. | |
| template<std::size_t... Is> | |
| static auto | create_mailbox_sets_impl (const ModuleConfig &config, std::index_sequence< Is... >) |
| Helper to create MailboxSet tuple for multi-output modules. | |
| template<std::size_t I> | |
| static auto | create_mailbox_set (const ModuleConfig &config) |
| Create a single MailboxSet for output type at index I. | |
Phase 8: Mailbox Infrastructure Builder.
Static factory methods for creating mailbox infrastructure:
This is pure compile-time dispatch - no instance state.
| ModuleType | The derived Module class (for type access only) |
| UserRegistry | The message registry type |
Definition at line 26 of file mailbox_infrastructure_builder.hpp.
|
inlinestaticprotected |
Create mailbox infrastructure.
Always returns tuple of MailboxSets (one per output type). Single-output modules get a tuple with 1 MailboxSet.
| config | Module configuration with system_id, instance_id, etc. |
Definition at line 37 of file mailbox_infrastructure_builder.hpp.
References commrat::MailboxInfrastructureBuilder< ModuleType, UserRegistry >::create_mailbox_sets_impl().
|
inlinestaticprotected |
Create a single MailboxSet for output type at index I.
Each output type gets its own MailboxSet with CMD, WORK, PUBLISH mailboxes at the appropriate base address for that output type.
| I | Output type index |
| config | Module configuration |
Definition at line 69 of file mailbox_infrastructure_builder.hpp.
|
inlinestaticprotected |
Helper to create MailboxSet tuple for multi-output modules.
Uses fold expression to construct tuple with initialized MailboxSets, one for each output type.
| Is | Index sequence (0, 1, 2, ..., num_output_types-1) |
| config | Module configuration |
Definition at line 53 of file mailbox_infrastructure_builder.hpp.
Referenced by commrat::MailboxInfrastructureBuilder< ModuleType, UserRegistry >::create_mailbox_infrastructure().