CommRaT 2.0.0
C++20 Real-Time Messaging Framework
Loading...
Searching...
No Matches
subscription_messages.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "../message_id.hpp"
4#include <cstdint>
5
6namespace commrat {
7
22
29 int64_t actual_period_ms{0};
30 bool success{false};
31 uint32_t error_code{0};
32};
33
42
47 bool success{true};
48};
49
50// ============================================================================
51// Message Definitions with Compile-Time IDs
52// ============================================================================
53
54// Subscribe request/reply pair with explicit IDs
59 0x0001 // Explicit ID for request
60>;
61
66 0x0002 // Explicit ID for reply (could use Reply<SubscribeRequest> with negative ID)
67>;
68
69// Unsubscribe request/reply pair with explicit IDs
74 0x0003
75>;
76
81 0x0004
82>;
83
84// Type aliases for accessing payloads
89
90} // namespace commrat
CommRaT - Modern C++ Real-Time Communication Framework.
typename SubscribeReply::Payload SubscribeReplyType
@ Subscription
Subscription protocol messages.
typename UnsubscribeRequest::Payload UnsubscribeRequestType
@ System
Framework control messages (subscription, etc.)
typename UnsubscribeReply::Payload UnsubscribeReplyType
typename SubscribeRequest::Payload SubscribeRequestType
Message definition with compile-time ID assignment.
Reply to subscription request.
int64_t actual_period_ms
Actual update period in ms.
bool success
True if subscription succeeded.
uint32_t error_code
0=success, 1=max_subscribers, 2=other
Request to subscribe to continuous data from a producer module.
uint32_t subscriber_base_addr
Consumer's base address ([type][sys][inst][mbx=0])
uint8_t mailbox_index
Which mailbox to send data to (DATA mailbox index)
int64_t requested_period_ms
Desired update period in ms (0 = as fast as possible)
Acknowledgment of unsubscribe request.
bool success
Always true unless error.
Request to unsubscribe from continuous data.
uint32_t subscriber_base_addr
Consumer's base mailbox address (no mailbox_index)