Expand description
DDS-Security 1.2 §7.5.5 — ParticipantGenericMessage (C3.4).
Wire-Datentyp fuer die zwei Builtin-Topics aus §7.5.3 + §7.5.4:
| Topic | Reliability | Endpoints (Bits, §7.4.7.1) | Inhalt |
|---|---|---|---|
DCPSParticipantStatelessMessage | BestEffort | 22/23 (STATELESS_*_{WRITER,READER}) | HandshakeRequest/Reply/FinalMessageToken |
DCPSParticipantVolatileMessageSecure | Reliable | 24/25 (VOLATILE_*_{WRITER,READER}) | CryptoToken-Exchange-Nachrichten |
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;
};Encoding ist XCDR1 (PL_CDR_LE) — die ParticipantGenericMessage
wird als serialized_payload einer DATA-Submessage transportiert.
message_class_id-Konstanten (Spec §7.5.5):
| class_id | Bedeutung |
|---|---|
"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_id-Konstanten (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 fuer den Stateless-Auth-Handshake (Spec §7.5.3).
- TOPIC_
VOLATILE_ MESSAGE_ SECURE - Topic-Name fuer Crypto-Token-Exchange (Spec §7.5.4).
- TYPE_
NAME_ GENERIC_ MESSAGE - Type-Name beider Topics (Spec §7.5.3 + §7.5.4): identisch.