MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / build_id

Function build_id

dds/FACE/config/Parser.cpp:25–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23 const char* SUBSCRIBER_QOS_SECTION = "subscriberqos";
24
25 OpenDDS::DCPS::GUID_t build_id(const ConnectionSettings& conn)
26 {
27 unsigned char participant_key[6];
28 participant_key[0] = (conn.participant_id_ >> 0) & 0xFF;
29 participant_key[1] = (conn.participant_id_ >> 8) & 0xFF;
30 participant_key[2] = (conn.participant_id_ >> 16) & 0xFF;
31 participant_key[3] = (conn.participant_id_ >> 24) & 0xFF;
32 participant_key[4] = 0; //(conn.domain_id_ >> 32) & 0xFF;
33 participant_key[5] = 0; //(conn.domain_id_ >> 40) & 0xFF;
34
35 unsigned char entity_key[3];
36 entity_key[0] = (conn.connection_id_ >> 0) & 0xFF;
37 entity_key[1] = (conn.connection_id_ >> 8) & 0xFF;
38 entity_key[2] = (conn.connection_id_ >> 16) & 0xFF;
39
40 unsigned char entity_kind = 0;
41 switch (conn.direction_) {
42 case FACE::SOURCE:
43 entity_kind = DCPS::ENTITYKIND_USER_WRITER_WITH_KEY;
44 break;
45 case FACE::DESTINATION:
46 entity_kind = DCPS::ENTITYKIND_USER_READER_WITH_KEY;
47 break;
48 case FACE::BI_DIRECTIONAL:
49 case FACE::ONE_WAY_REQUEST_SOURCE:
50 case FACE::ONE_WAY_REQUEST_DESTINATION:
51 case FACE::TWO_WAY_REQUEST_SYNCHRONOUS_SOURCE:
52 case FACE::TWO_WAY_REQUEST_SYNCHRONOUS_DESTINATION:
53 case FACE::TWO_WAY_REQUEST_REPLY_ASYNCHRONOUS_SOURCE:
54 case FACE::TWO_WAY_REQUEST_REPLY_ASYNCHRONOUS_DESTINATION:
55 case FACE::NOT_DEFINED_CONNECTION_DIRECTION_TYPE:
56 break;
57 }
58 return OpenDDS::DCPS::EndpointRegistry::build_id(conn.domain_id_,
59 participant_key,
60 OpenDDS::DCPS::EndpointRegistry::build_id(entity_key,
61 entity_kind));
62 }
63
64} // anon namespace
65

Callers 5

parse_endpointsMethod · 0.85
pre_writerMethod · 0.85
pre_readerMethod · 0.85
parseMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected