Expand description
DDS-Security 1.2 §7.5.5 — ParticipantGenericMessage (C3.4).
Wire data type for the two builtin topics from §7.5.3 + §7.5.4:
| Topic | Reliability | Endpoints (bits, §7.4.7.1) | Content |
|---|---|---|---|
DCPSParticipantStatelessMessage | BestEffort | 22/23 (STATELESS_*_{WRITER,READER}) | HandshakeRequest/Reply/FinalMessageToken |
DCPSParticipantVolatileMessageSecure | Reliable | 24/25 (VOLATILE_*_{WRITER,READER}) | CryptoToken exchange messages |
Spec §7.5.5 Tab.10:
struct MessageIdentity {
GUID_t source_guid; // 16 byte
long long sequence_number; // 8 byte (CDR i64)
};
struct ParticipantGenericMessage {
MessageIdentity message_identity;
MessageIdentity related_message_identity;
GUID_t destination_participant_key;
GUID_t destination_endpoint_key;
GUID_t source_endpoint_key;
string<256> message_class_id;
sequence<DataHolder> message_data;
};The encoding is XCDR1 (PL_CDR_LE) — the ParticipantGenericMessage
is transported as the serialized_payload of a DATA submessage.
message_class_id-Konstanten (Spec §7.5.5):
| class_id | Meaning |
|---|---|
"dds.sec.auth_request" | Initiator → Replier: HandshakeRequestMessage |
"dds.sec.auth" | Replier → Initiator: HandshakeReplyMessage |
"dds.sec.auth" (related ≠ NIL) | Initiator → Replier: HandshakeFinalMessage |
"dds.sec.participant_crypto_tokens" | Crypto-Token-Exchange (Volatile-Topic) |
"dds.sec.datawriter_crypto_tokens" | DataWriter-Slot Crypto-Tokens |
"dds.sec.datareader_crypto_tokens" | DataReader-Slot Crypto-Tokens |
Modules§
- class_
id message_class_idconstants (spec §7.5.5).
Structs§
- Message
Identity MessageIdentity(spec §7.5.5 Tab.10).- Participant
Generic Message ParticipantGenericMessage(Spec §7.5.5 Tab.10).
Constants§
- TOPIC_
STATELESS_ MESSAGE - Topic name for the stateless auth handshake (spec §7.5.3).
- TOPIC_
VOLATILE_ MESSAGE_ SECURE - Topic name for the crypto-token exchange (spec §7.5.4).
- TYPE_
NAME_ GENERIC_ MESSAGE - Type name of both topics (spec §7.5.3 + §7.5.4): identical.