OpenDDS  Snapshot(2021/12/03-20:38)
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
OpenDDS::RTPS Namespace Reference

Namespaces

 ParameterListConverter
 

Classes

struct  AckNackSubmessage
 
class  BuiltinAssociationRecord
 
struct  ContentFilterInfo_t
 
struct  Count_t
 
struct  DataFragSubmessage
 
struct  DataSubmessage
 
struct  DiscoveredParticipant
 
struct  DiscoveredPublication_SecurityWrapper
 
struct  DiscoveredSubscription_SecurityWrapper
 
struct  DiscoveredTopicData
 
struct  Duration_t
 
struct  EntityName_t
 
struct  FragmentNumber_t
 
struct  FragmentNumberSet
 
struct  GapSubmessage
 
class  GuidGenerator
 
struct  Header
 
struct  HeartBeatFragSubmessage
 
struct  HeartBeatSubmessage
 
struct  IceCandidate_t
 
struct  IceGeneral_t
 
struct  InfoDestinationSubmessage
 
struct  InfoReplyIp4Submessage
 
struct  InfoReplySubmessage
 
struct  InfoSourceSubmessage
 
struct  InfoTimestampSubmessage
 
struct  KeyHash_t
 
struct  LocatorUDPv4_t
 
struct  Message
 
class  MessageParser
 
struct  NackFragSubmessage
 
class  Noop
 
struct  OpenDDSParticipantFlags_t
 
struct  OriginalWriterInfo_t
 
struct  PadSubmessage
 
union  Parameter
 
struct  ParticipantMessageData
 
struct  ParticipantProxy_t
 
struct  ProtocolVersion_t
 
class  ReaderAssociationRecord
 
struct  ReliabilityKind_t
 
struct  ReliabilityQosPolicyRtps
 
class  RtpsDiscovery
 Discovery Strategy class that implements RTPS discovery. More...
 
class  RtpsDiscoveryConfig
 
struct  SecuritySubmessage
 
class  Sedp
 
struct  SequenceNumber_t
 
struct  SequenceNumberSet
 
class  Spdp
 
struct  SPDPdiscoveredParticipantData
 
struct  StatusInfo_t
 
union  Submessage
 
struct  SubmessageHeader
 
struct  Time_t
 
struct  TopicKind_t
 
struct  VendorId_t
 
class  WriterAssociationRecord
 

Typedefs

typedef octet OctetArray2[2]
 
typedef octet OctetArray4[4]
 
typedef long FilterSignature_t[4]
 
typedef sequence< long > FilterResult_t
 
typedef sequence< FilterSignature_tFilterSignatureSeq
 
typedef DDS::Property_t Property_t
 
typedef DDS::PropertySeq PropertySeq
 
typedef sequence< long, 8 > LongSeq8
 
typedef sequence< OpenDDS::DCPS::Locator_t, 8 > LocatorList
 
typedef Time_t Timestamp_t
 
typedef unsigned long IceAgentType_t
 
typedef unsigned long IceCandidateType_t
 
typedef unsigned long BuiltinEndpointSet_t
 
typedef unsigned long BuiltinEndpointQos_t
 
typedef sequence< ParameterParameterList
 
typedef unsigned short ParameterId_t
 
typedef unsigned long OpenDDSParticipantFlagsBits_t
 
typedef sequence< SubmessageSubmessageSeq
 
typedef RcHandle< SpdpParticipantHandle
 
typedef OpenDDS::DCPS::RcHandle< RtpsDiscoveryConfigRtpsDiscoveryConfig_rch
 
typedef OpenDDS::DCPS::RcHandle< RtpsDiscoveryRtpsDiscovery_rch
 
typedef Security::SPDPdiscoveredParticipantData ParticipantData_t
 

Enumerations

enum  SubmessageKind {
  SUBMESSAGE_NONE, PAD, RESERVED_2, RESERVED_3,
  RESERVED_4, RESERVED_5, ACKNACK, HEARTBEAT,
  GAP, INFO_TS, RESERVED_10, RESERVED_11,
  INFO_SRC, INFO_REPLY_IP4, INFO_DST, INFO_REPLY,
  RESERVED_16, RESERVED_17, NACK_FRAG, HEARTBEAT_FRAG,
  RESERVED_20, DATA, DATA_FRAG, RESERVED_23,
  RESERVED_24, RESERVED_25, RESERVED_26, RESERVED_27,
  RESERVED_28, RESERVED_29, RESERVED_30, RESERVED_31,
  RESERVED_32, RESERVED_33, RESERVED_34, RESERVED_35,
  RESERVED_36, RESERVED_37, RESERVED_38, RESERVED_39,
  RESERVED_40, RESERVED_41, RESERVED_42, RESERVED_43,
  RESERVED_44, RESERVED_45, RESERVED_46, RESERVED_47,
  SEC_BODY, SEC_PREFIX, SEC_POSTFIX, SRTPS_PREFIX,
  SRTPS_POSTFIX, RESERVED_53_SECURITY
}
 
enum  AuthState { AUTH_STATE_HANDSHAKE, AUTH_STATE_AUTHENTICATED, AUTH_STATE_UNAUTHENTICATED }
 
enum  HandshakeState { HANDSHAKE_STATE_BEGIN_HANDSHAKE_REQUEST, HANDSHAKE_STATE_BEGIN_HANDSHAKE_REPLY, HANDSHAKE_STATE_PROCESS_HANDSHAKE, HANDSHAKE_STATE_DONE }
 

Functions

const DCPS::Encodingget_locators_encoding ()
 
DDS::ReturnCode_t blob_to_locators (const DCPS::TransportBLOB &blob, DCPS::LocatorSeq &locators, bool *requires_inline_qos, unsigned int *pBytesRead)
 
void locators_to_blob (const DCPS::LocatorSeq &locators, DCPS::TransportBLOB &blob)
 
OpenDDS_Rtps_Export DCPS::LocatorSeq transport_locator_to_locator_seq (const DCPS::TransportLocator &info)
 
DCPS::TimeDuration rtps_duration_to_time_duration (const Duration_t &rtps_duration, const ProtocolVersion_t &version, const VendorId_t &vendor)
 
bool bitmapNonEmpty (const SequenceNumberSet &snSet)
 
template<typename T >
void marshal_key_hash (const T &msg, KeyHash_t &hash)
 
template<typename T >
void message_block_to_sequence (const ACE_Message_Block &mb_locator, T &out)
 
bool operator== (const Duration_t &x, const Duration_t &y)
 
bool operator== (const VendorId_t &v1, const VendorId_t &v2)
 
bool operator< (const ProtocolVersion_t &v1, const ProtocolVersion_t &v2)
 
DCPS::SequenceNumber to_opendds_seqnum (const RTPS::SequenceNumber_t &rtps_seqnum)
 
RTPS::SequenceNumber_t to_rtps_seqnum (const DCPS::SequenceNumber &opendds_seqnum)
 
void append_submessage (RTPS::Message &message, const RTPS::InfoDestinationSubmessage &submessage)
 
void append_submessage (RTPS::Message &message, const RTPS::InfoTimestampSubmessage &submessage)
 
void append_submessage (RTPS::Message &message, const RTPS::DataSubmessage &submessage)
 
void append_submessage (RTPS::Message &message, const RTPS::DataFragSubmessage &submessage)
 
void log_message (const char *format, const DCPS::GuidPrefix_t &prefix, bool send, const Message &message)
 Log a serialized RTPS message. More...
 
void parse_submessages (Message &message, const ACE_Message_Block &mb)
 
typedef OPENDDS_MAP_CMP (GUID_t, ParticipantHandle, GUID_tKeyLessThan) ParticipantMap
 
typedef OPENDDS_MAP (DDS::DomainId_t, ParticipantMap) DomainParticipantMap
 
DDS::Security::ParticipantSecurityAttributesMask security_attributes_to_bitmask (const DDS::Security::ParticipantSecurityAttributes &sec_attr)
 
DDS::Security::EndpointSecurityAttributesMask security_attributes_to_bitmask (const DDS::Security::EndpointSecurityAttributes &sec_attr)
 
DDS::OctetSeq handle_to_octets (DDS::Security::NativeCryptoHandle handle)
 
void populate_locators (DCPS::TransportLocatorSeq &remote_data, const ParticipantData_t &pdata)
 
void create_association_data_proto (DCPS::AssociationData &proto, const ParticipantData_t &pdata)
 
void disassociate_helper_extended (DDS::Security::ExtendedBuiltinEndpointSet_t &extended_associated_endpoints, const CORBA::ULong flags, const DCPS::RepoId &id, const EntityId_t &ent, DCPS::TransportClient &client)
 
static bool decode_parameter_list (const DCPS::ReceivedDataSample &sample, Serializer &ser, DCPS::Extensibility extensibility, ParameterList &data)
 
bool locators_changed (const ParticipantProxy_t &x, const ParticipantProxy_t &y)
 
typedef OPENDDS_MAP_CMP (GUID_t, DDS::Security::DatareaderCryptoTokenSeq, GUID_tKeyLessThan) DatareaderCryptoTokenSeqMap
 
bool has_security_data (Security::DiscoveredParticipantDataKind kind)
 
bool cmp_ip4 (const ACE_INET_Addr &a, const DCPS::Locator_t &locator)
 
bool is_ip_equal (const ACE_INET_Addr &a, const DCPS::Locator_t &locator)
 
void print_locator (const CORBA::ULong i, const DCPS::Locator_t &o)
 
bool ip_in_locator_list (const ACE_INET_Addr &from, const DCPS::LocatorSeq &locators)
 
bool ip_in_AgentInfo (const ACE_INET_Addr &from, const ParameterList &plist)
 
bool valid_size (const ACE_INET_Addr &a)
 
bool operator== (const DCPS::Locator_t &x, const DCPS::Locator_t &y)
 
bool operator!= (const DCPS::Locator_t &x, const DCPS::Locator_t &y)
 
bool operator== (const StatusInfo_t &lhs, const StatusInfo_t &rhs)
 

Variables

const Time_t TIME_INVALID = { 0xffffffffu, 0xffffffffu }
 
const Duration_t DURATION_ZERO = { 0, 0u }
 
const Duration_t DURATION_INFINITE = { 0x7fffffff, 0xffffffffu }
 
const VendorId_t VENDORID_UNKNOWN = { { 0 } }
 
const VendorId_t VENDORID_OPENDDS
 
const SequenceNumber_t SEQUENCENUMBER_UNKNOWN = { -1, 0 }
 
const OpenDDS::DCPS::Locator_t LOCATOR_INVALID
 
const DDS::OctetArray16 LOCATOR_ADDRESS_INVALID = { 0 }
 
const LocatorUDPv4_t LOCATORUDPv4_INVALID = { 0, 0 }
 
const ACE_CDR::Octet PROTOCOL_RTPS [] = {'R', 'T', 'P', 'S'}
 
const ProtocolVersion_t PROTOCOLVERSION_1_0 = { 1, 0 }
 
const ProtocolVersion_t PROTOCOLVERSION_1_1 = { 1, 1 }
 
const ProtocolVersion_t PROTOCOLVERSION_2_0 = { 2, 0 }
 
const ProtocolVersion_t PROTOCOLVERSION_2_1 = { 2, 1 }
 
const ProtocolVersion_t PROTOCOLVERSION_2_2 = { 2, 2 }
 
const ProtocolVersion_t PROTOCOLVERSION_2_3 = { 2, 3 }
 
const ProtocolVersion_t PROTOCOLVERSION_2_4 = { 2, 4 }
 
const ProtocolVersion_t PROTOCOLVERSION = PROTOCOLVERSION_2_4
 
const ACE_CDR::UShort DATA_OCTETS_TO_IQOS = 16
 
const ACE_CDR::UShort DATA_FRAG_OCTETS_TO_IQOS = 28
 
const ACE_CDR::UShort RTPSHDR_SZ = 20
 
const ACE_CDR::UShort SMHDR_SZ = 4
 
const ACE_CDR::UShort HEARTBEAT_SZ = 28
 
const ACE_CDR::UShort INFO_DST_SZ = 12
 
const ACE_CDR::UShort INFO_TS_SZ = 8
 
const ACE_CDR::UShort INFO_SRC_SZ = 20
 
const size_t SM_ALIGN = 4
 Alignment of RTPS Submessage. More...
 
const DCPS::EntityId_t PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN
 
const DCPS::EntityId_t PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE
 
const DCPS::EntityId_t PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE
 
const long LOCATOR_KIND_INVALID = DCPS::LOCATOR_KIND_INVALID
 
const long LOCATOR_KIND_RESERVED = DCPS::LOCATOR_KIND_RESERVED
 
const long LOCATOR_KIND_UDPv4 = DCPS::LOCATOR_KIND_UDPv4
 
const long LOCATOR_KIND_UDPv6 = DCPS::LOCATOR_KIND_UDPv6
 
const unsigned long LOCATOR_PORT_INVALID = DCPS::LOCATOR_PORT_INVALID
 
const short NO_KEY = 1
 
const short WITH_KEY = 2
 
const short BEST_EFFORT = 1
 
const short RELIABLE = 2
 
const IceAgentType_t ICE_FULL = 0x0
 
const IceAgentType_t ICE_LITE = 0x1
 
const IceCandidateType_t ICE_HOST = 0x0
 
const IceCandidateType_t ICE_SERVER_REFLEXIVE = 0x1
 
const IceCandidateType_t ICE_PEER_REFLEXIVE = 0x2
 
const IceCandidateType_t ICE_RELAYED = 0x3
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_ANNOUNCER
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_DETECTOR
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_DETECTOR
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_ANNOUNCER
 
const BuiltinEndpointSet_t DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_WRITER
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_READER
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_WRITER
 
const BuiltinEndpointSet_t BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_READER
 
const BuiltinEndpointQos_t BEST_EFFORT_PARTICIPANT_MESSAGE_DATA_READER
 
const ParameterId_t PID_PAD = 0x0000
 
const ParameterId_t PID_SENTINEL = 0x0001
 
const ParameterId_t PID_USER_DATA = 0x002c
 
const ParameterId_t PID_TOPIC_NAME = 0x0005
 
const ParameterId_t PID_TYPE_NAME = 0x0007
 
const ParameterId_t PID_GROUP_DATA = 0x002d
 
const ParameterId_t PID_TOPIC_DATA = 0x002e
 
const ParameterId_t PID_DURABILITY = 0x001d
 
const ParameterId_t PID_DURABILITY_SERVICE = 0x001e
 
const ParameterId_t PID_DEADLINE = 0x0023
 
const ParameterId_t PID_LATENCY_BUDGET = 0x0027
 
const ParameterId_t PID_LIVELINESS = 0x001b
 
const ParameterId_t PID_RELIABILITY = 0x001a
 
const ParameterId_t PID_LIFESPAN = 0x002b
 
const ParameterId_t PID_DESTINATION_ORDER = 0x0025
 
const ParameterId_t PID_HISTORY = 0x0040
 
const ParameterId_t PID_RESOURCE_LIMITS = 0x0041
 
const ParameterId_t PID_OWNERSHIP = 0x001f
 
const ParameterId_t PID_OWNERSHIP_STRENGTH = 0x0006
 
const ParameterId_t PID_PRESENTATION = 0x0021
 
const ParameterId_t PID_PARTITION = 0x0029
 
const ParameterId_t PID_TIME_BASED_FILTER = 0x0004
 
const ParameterId_t PID_TRANSPORT_PRIORITY = 0x0049
 
const ParameterId_t PID_PROTOCOL_VERSION = 0x0015
 
const ParameterId_t PID_VENDORID = 0x0016
 
const ParameterId_t PID_UNICAST_LOCATOR = 0x002f
 
const ParameterId_t PID_MULTICAST_LOCATOR = 0x0030
 
const ParameterId_t PID_DEFAULT_UNICAST_LOCATOR = 0x0031
 
const ParameterId_t PID_DEFAULT_MULTICAST_LOCATOR = 0x0048
 
const ParameterId_t PID_METATRAFFIC_UNICAST_LOCATOR = 0x0032
 
const ParameterId_t PID_METATRAFFIC_MULTICAST_LOCATOR = 0x0033
 
const ParameterId_t PID_EXPECTS_INLINE_QOS = 0x0043
 
const ParameterId_t PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT = 0x0034
 
const ParameterId_t PID_PARTICIPANT_BUILTIN_ENDPOINTS = 0x0044
 
const ParameterId_t PID_PARTICIPANT_LEASE_DURATION = 0x0002
 
const ParameterId_t PID_CONTENT_FILTER_PROPERTY = 0x0035
 
const ParameterId_t PID_PARTICIPANT_GUID = 0x0050
 
const ParameterId_t PID_GROUP_GUID = 0x0052
 
const ParameterId_t PID_BUILTIN_ENDPOINT_SET = 0x0058
 
const ParameterId_t PID_PROPERTY_LIST = 0x0059
 
const ParameterId_t PID_TYPE_MAX_SIZE_SERIALIZED = 0x0060
 
const ParameterId_t PID_ENTITY_NAME = 0x0062
 
const ParameterId_t PID_KEY_HASH = 0x0070
 
const ParameterId_t PID_STATUS_INFO = 0x0071
 
const ParameterId_t PID_ENDPOINT_GUID = 0x005a
 
const ParameterId_t PID_CONTENT_FILTER_INFO = 0x0055
 
const ParameterId_t PID_COHERENT_SET = 0x0056
 
const ParameterId_t PID_DIRECTED_WRITE = 0x0057
 
const ParameterId_t PID_ORIGINAL_WRITER_INFO = 0x0061
 
const ParameterId_t PID_DATA_REPRESENTATION = 0x0073
 
const ParameterId_t PID_XTYPES_TYPE_CONSISTENCY = 0x0074
 
const ParameterId_t PID_XTYPES_TYPE_INFORMATION = 0x0075
 
const ParameterId_t PIDMASK_VENDOR_SPECIFIC = 0x8000
 
const ParameterId_t PIDMASK_INCOMPATIBLE = 0x4000
 
const ParameterId_t PID_DOMAIN_ID = 0x000f
 
const ParameterId_t PID_DOMAIN_TAG = 0x4014
 
const ParameterId_t PID_BUILTIN_ENDPOINT_QOS = 0x0077
 
const OpenDDSParticipantFlagsBits_t PFLAGS_EMPTY = 0x0
 
const OpenDDSParticipantFlagsBits_t PFLAGS_NO_ASSOCIATED_WRITERS = 0x1
 
const OpenDDSParticipantFlagsBits_t PFLAGS_DIRECTED_HEARTBEAT = 0x2
 
const OpenDDSParticipantFlagsBits_t PFLAGS_REFLECT_HEARTBEAT_COUNT = 0x4
 
const OpenDDSParticipantFlagsBits_t PFLAGS_THIS_VERSION = PFLAGS_DIRECTED_HEARTBEAT | PFLAGS_NO_ASSOCIATED_WRITERS
 
const ParameterId_t PID_OPENDDS_BASE = PIDMASK_VENDOR_SPECIFIC + 0x3000
 
const ParameterId_t PID_OPENDDS_LOCATOR = PID_OPENDDS_BASE + 1
 
const ParameterId_t PID_OPENDDS_ASSOCIATED_WRITER = PID_OPENDDS_BASE + 2
 
const ParameterId_t PID_OPENDDS_ICE_GENERAL = PID_OPENDDS_BASE + 3
 
const ParameterId_t PID_OPENDDS_ICE_CANDIDATE = PID_OPENDDS_BASE + 4
 
const ParameterId_t PID_OPENDDS_PARTICIPANT_FLAGS = PID_OPENDDS_BASE + 5
 
const ParameterId_t PID_OPENDDS_RTPS_RELAY_APPLICATION_PARTICIPANT = PID_OPENDDS_BASE + 6
 
const octet FLAG_E = 1
 
const octet FLAG_Q = 2
 
const octet FLAG_F = 2
 
const octet FLAG_I = 2
 
const octet FLAG_M = 2
 
const octet FLAG_D = 4
 
const octet FLAG_L = 4
 
const octet FLAG_K_IN_FRAG = 4
 
const octet FLAG_K_IN_DATA = 8
 
const octet FLAG_N_IN_FRAG = 8
 
const octet FLAG_N_IN_DATA = 16
 
const char RTPS_DISCOVERY_ENDPOINT_ANNOUNCEMENTS [] = "OpenDDS.RtpsDiscovery.EndpointAnnouncements"
 
const char RTPS_DISCOVERY_TYPE_LOOKUP_SERVICE [] = "OpenDDS.RtpsDiscovery.TypeLookupService"
 
const char RTPS_RELAY_APPLICATION_PARTICIPANT [] = "OpenDDS.Rtps.RelayApplicationParticipant"
 
const char RTPS_REFLECT_HEARTBEAT_COUNT [] = "OpenDDS.Rtps.ReflectHeartbeatCount"
 
static RtpsDiscovery::StaticInitializer initialize_rtps
 
const DDS::Security::ParticipantSecurityInfo PARTICIPANT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}
 
const DDS::Security::EndpointSecurityInfo ENDPOINT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}
 
const int AC_EMPTY = 0
 
const int AC_REMOTE_RELIABLE = 1 << 0
 
const int AC_REMOTE_DURABLE = 1 << 1
 
const int AC_GENERATE_REMOTE_MATCHED_CRYPTO_HANDLE = 1 << 2
 
const int AC_SEND_LOCAL_TOKEN = 1 << 3
 
const int AC_LOCAL_TOKENS_SENT = 1 << 4
 
const char SPDP_AGENT_INFO_KEY [] = "SPDP"
 
const char SEDP_AGENT_INFO_KEY [] = "SEDP"
 
const EntityId_t ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER = {{0xff, 0x00, 0x03}, 0xc2}
 
const EntityId_t ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER = {{0xff, 0x00, 0x03}, 0xc7}
 
const EntityId_t ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER = {{0xff, 0x00, 0x04}, 0xc2}
 
const EntityId_t ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER = {{0xff, 0x00, 0x04}, 0xc7}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER = {{0xff, 0x02, 0x00}, 0xc2}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER = {{0xff, 0x02, 0x00}, 0xc7}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER = {{0x00, 0x02, 0x01}, 0xc3}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER = {{0x00, 0x02, 0x01}, 0xc4}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER = {{0xff, 0x02, 0x02}, 0xc3}
 
const EntityId_t ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER = {{0xff, 0x02, 0x02}, 0xc4}
 
const EntityId_t ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER = {{0xff, 0x01, 0x01}, 0xc2}
 
const EntityId_t ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER = {{0xff, 0x01, 0x01}, 0xc7}
 
const EntityId_t ENTITYID_TL_SVC_REQ_WRITER_SECURE = {{0xff, 0x03, 0x00}, 0xc3 }
 
const EntityId_t ENTITYID_TL_SVC_REQ_READER_SECURE = {{0xff, 0x03, 0x00}, 0xc4 }
 
const EntityId_t ENTITYID_TL_SVC_REPLY_WRITER_SECURE = {{0xff, 0x03, 0x01}, 0xc3 }
 
const EntityId_t ENTITYID_TL_SVC_REPLY_READER_SECURE = {{0xff, 0x03, 0x01}, 0xc4 }
 

Typedef Documentation

◆ BuiltinEndpointQos_t

typedef unsigned long OpenDDS::RTPS::BuiltinEndpointQos_t

Definition at line 231 of file RtpsCore.idl.

◆ BuiltinEndpointSet_t

typedef unsigned long OpenDDS::RTPS::BuiltinEndpointSet_t

Definition at line 196 of file RtpsCore.idl.

◆ FilterResult_t

typedef sequence<long> OpenDDS::RTPS::FilterResult_t

Definition at line 31 of file RtpsCore.idl.

◆ FilterSignature_t

typedef long OpenDDS::RTPS::FilterSignature_t[4]

Definition at line 27 of file RtpsCore.idl.

◆ FilterSignatureSeq

Definition at line 33 of file RtpsCore.idl.

◆ IceAgentType_t

typedef unsigned long OpenDDS::RTPS::IceAgentType_t

Definition at line 171 of file RtpsCore.idl.

◆ IceCandidateType_t

typedef unsigned long OpenDDS::RTPS::IceCandidateType_t

Definition at line 182 of file RtpsCore.idl.

◆ LocatorList

Definition at line 82 of file RtpsCore.idl.

◆ LongSeq8

typedef sequence<long, 8> OpenDDS::RTPS::LongSeq8

Definition at line 69 of file RtpsCore.idl.

◆ OctetArray2

typedef octet OpenDDS::RTPS::OctetArray2[2]

Definition at line 22 of file RtpsCore.idl.

◆ OctetArray4

typedef octet OpenDDS::RTPS::OctetArray4[4]

Definition at line 23 of file RtpsCore.idl.

◆ OpenDDSParticipantFlagsBits_t

Definition at line 319 of file RtpsCore.idl.

◆ ParameterId_t

typedef unsigned short OpenDDS::RTPS::ParameterId_t

Definition at line 247 of file RtpsCore.idl.

◆ ParameterList

Definition at line 235 of file RtpsCore.idl.

◆ ParticipantData_t

Definition at line 90 of file Sedp.h.

◆ ParticipantHandle

Definition at line 28 of file RtpsDiscovery.h.

◆ Property_t

Definition at line 48 of file RtpsCore.idl.

◆ PropertySeq

Definition at line 49 of file RtpsCore.idl.

◆ RtpsDiscovery_rch

Definition at line 1077 of file RtpsDiscovery.h.

◆ RtpsDiscoveryConfig_rch

Definition at line 767 of file RtpsDiscovery.h.

◆ SubmessageSeq

Definition at line 878 of file RtpsCore.idl.

◆ Timestamp_t

Definition at line 96 of file RtpsCore.idl.

Enumeration Type Documentation

◆ AuthState

Enumerator
AUTH_STATE_HANDSHAKE 
AUTH_STATE_AUTHENTICATED 
AUTH_STATE_UNAUTHENTICATED 

Definition at line 73 of file Sedp.h.

◆ HandshakeState

Enumerator
HANDSHAKE_STATE_BEGIN_HANDSHAKE_REQUEST 

Requester should call begin_handshake_request.

HANDSHAKE_STATE_BEGIN_HANDSHAKE_REPLY 

Replier should call begin_handshake_reply.

HANDSHAKE_STATE_PROCESS_HANDSHAKE 

Requester and replier should call process handshake.

HANDSHAKE_STATE_DONE 

Handshake concluded or timed out.

Definition at line 79 of file Sedp.h.

79  {
80  HANDSHAKE_STATE_BEGIN_HANDSHAKE_REQUEST, //!< Requester should call begin_handshake_request
81  HANDSHAKE_STATE_BEGIN_HANDSHAKE_REPLY, //!< Replier should call begin_handshake_reply
82  HANDSHAKE_STATE_PROCESS_HANDSHAKE, //!< Requester and replier should call process handshake
83  HANDSHAKE_STATE_DONE //!< Handshake concluded or timed out
84 };
Requester and replier should call process handshake.
Definition: Sedp.h:82
Handshake concluded or timed out.
Definition: Sedp.h:83
Replier should call begin_handshake_reply.
Definition: Sedp.h:81
Requester should call begin_handshake_request.
Definition: Sedp.h:80

◆ SubmessageKind

Enumerator
SUBMESSAGE_NONE 
PAD 
RESERVED_2 
RESERVED_3 
RESERVED_4 
RESERVED_5 
ACKNACK 
HEARTBEAT 
GAP 
INFO_TS 
RESERVED_10 
RESERVED_11 
INFO_SRC 
INFO_REPLY_IP4 
INFO_DST 
INFO_REPLY 
RESERVED_16 
RESERVED_17 
NACK_FRAG 
HEARTBEAT_FRAG 
RESERVED_20 
DATA 
DATA_FRAG 
RESERVED_23 
RESERVED_24 
RESERVED_25 
RESERVED_26 
RESERVED_27 
RESERVED_28 
RESERVED_29 
RESERVED_30 
RESERVED_31 
RESERVED_32 
RESERVED_33 
RESERVED_34 
RESERVED_35 
RESERVED_36 
RESERVED_37 
RESERVED_38 
RESERVED_39 
RESERVED_40 
RESERVED_41 
RESERVED_42 
RESERVED_43 
RESERVED_44 
RESERVED_45 
RESERVED_46 
RESERVED_47 
SEC_BODY 
SEC_PREFIX 
SEC_POSTFIX 
SRTPS_PREFIX 
SRTPS_POSTFIX 
RESERVED_53_SECURITY 

Definition at line 770 of file RtpsCore.idl.

770  {
772  PAD, /* = 0x01, Pad */
773  RESERVED_2,
774  RESERVED_3,
775  RESERVED_4,
776  RESERVED_5,
777  ACKNACK, /* = 0x06, AckNack */
778  HEARTBEAT, /* = 0x07, Heartbeat */
779  GAP, /* = 0x08, Gap */
780  INFO_TS, /* = 0x09, InfoTimestamp */
781  RESERVED_10,
782  RESERVED_11,
783  INFO_SRC, /* = 0x0c, InfoSource */
784  INFO_REPLY_IP4, /* = 0x0d, InfoReplyIp4 */
785  INFO_DST, /* = 0x0e, InfoDestination */
786  INFO_REPLY, /* = 0x0f, InfoReply */
787  RESERVED_16,
788  RESERVED_17,
789  NACK_FRAG, /* = 0x12, NackFrag */
790  HEARTBEAT_FRAG, /* = 0x13, HeartbeatFrag */
791  RESERVED_20,
792  DATA, /* = 0x15, Data */
793  DATA_FRAG, /* = 0x16, DataFrag */
794  RESERVED_23,
795  RESERVED_24,
796  RESERVED_25,
797  RESERVED_26,
798  RESERVED_27,
799  RESERVED_28,
800  RESERVED_29,
801  RESERVED_30,
802  RESERVED_31,
803  RESERVED_32,
804  RESERVED_33,
805  RESERVED_34,
806  RESERVED_35,
807  RESERVED_36,
808  RESERVED_37,
809  RESERVED_38,
810  RESERVED_39,
811  RESERVED_40,
812  RESERVED_41,
813  RESERVED_42,
814  RESERVED_43,
815  RESERVED_44,
816  RESERVED_45,
817  RESERVED_46,
818  RESERVED_47,
819  SEC_BODY, // SubmessageKinds 0x30-3f reserved for security
820  SEC_PREFIX,
821  SEC_POSTFIX,
822  SRTPS_PREFIX,
825  };

Function Documentation

◆ append_submessage() [1/4]

void OpenDDS::RTPS::append_submessage ( RTPS::Message message,
const RTPS::InfoDestinationSubmessage submessage 
)
inline

Definition at line 181 of file BaseMessageUtils.h.

References OpenDDS::RTPS::Submessage::info_dst_sm, OpenDDS::DCPS::push_back(), and OpenDDS::RTPS::Message::submessages.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::bundle_and_send_submessages(), OpenDDS::RTPS::Spdp::SpdpTransport::dispose_unregister(), OpenDDS::RTPS::Spdp::SpdpTransport::handle_input(), parse_submessages(), and OpenDDS::RTPS::Spdp::SpdpTransport::write_i().

182 {
183  RTPS::Submessage sm;
184  sm.info_dst_sm(submessage);
185  DCPS::push_back(message.submessages, sm);
186 }
void push_back(Seq &seq, const typename Seq::value_type &val)
std::vector-style push_back() for CORBA Sequences
Definition: Util.h:136

◆ append_submessage() [2/4]

void OpenDDS::RTPS::append_submessage ( RTPS::Message message,
const RTPS::InfoTimestampSubmessage submessage 
)
inline

Definition at line 188 of file BaseMessageUtils.h.

References OpenDDS::RTPS::Submessage::info_ts_sm, OpenDDS::DCPS::push_back(), and OpenDDS::RTPS::Message::submessages.

189 {
190  RTPS::Submessage sm;
191  sm.info_ts_sm(submessage);
192  DCPS::push_back(message.submessages, sm);
193 }
void push_back(Seq &seq, const typename Seq::value_type &val)
std::vector-style push_back() for CORBA Sequences
Definition: Util.h:136

◆ append_submessage() [3/4]

void OpenDDS::RTPS::append_submessage ( RTPS::Message message,
const RTPS::DataSubmessage submessage 
)
inline

Definition at line 195 of file BaseMessageUtils.h.

References OpenDDS::RTPS::Submessage::data_sm, OpenDDS::DCPS::push_back(), and OpenDDS::RTPS::Message::submessages.

196 {
197  RTPS::Submessage sm;
198  sm.data_sm(submessage);
199  DCPS::push_back(message.submessages, sm);
200 }
void push_back(Seq &seq, const typename Seq::value_type &val)
std::vector-style push_back() for CORBA Sequences
Definition: Util.h:136

◆ append_submessage() [4/4]

void OpenDDS::RTPS::append_submessage ( RTPS::Message message,
const RTPS::DataFragSubmessage submessage 
)
inline

Definition at line 202 of file BaseMessageUtils.h.

References OpenDDS::RTPS::Submessage::data_frag_sm, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::push_back(), and OpenDDS::RTPS::Message::submessages.

203 {
204  RTPS::Submessage sm;
205  sm.data_frag_sm(submessage);
206  DCPS::push_back(message.submessages, sm);
207 }
void push_back(Seq &seq, const typename Seq::value_type &val)
std::vector-style push_back() for CORBA Sequences
Definition: Util.h:136

◆ bitmapNonEmpty()

OpenDDS_Rtps_Export bool OpenDDS::RTPS::bitmapNonEmpty ( const SequenceNumberSet snSet)

Definition at line 185 of file BaseMessageUtils.cpp.

References OpenDDS::RTPS::SequenceNumberSet::bitmap, OpenDDS::RTPS::SequenceNumberSet::numBits, OPENDDS_ASSERT, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack().

186 {
187  const CORBA::ULong num_ulongs = (snSet.numBits + 31) / 32;
188 
189  OPENDDS_ASSERT(num_ulongs <= snSet.bitmap.length());
190 
191  if (num_ulongs == 0) {
192  return false;
193  }
194 
195  const CORBA::ULong last_index = num_ulongs - 1;
196  for (CORBA::ULong i = 0; i < last_index; ++i) {
197  if (snSet.bitmap[i]) {
198  return true;
199  }
200  }
201 
202  const CORBA::ULong mod = snSet.numBits % 32;
203  const CORBA::ULong mask = mod ? (1 + ~(1u << (32 - mod))) : 0xFFFFFFFF;
204  return (bool)(snSet.bitmap[last_index] & mask);
205 }
#define OPENDDS_ASSERT(C)
Definition: Definitions.h:66
ACE_CDR::ULong ULong

◆ blob_to_locators()

OpenDDS_Rtps_Export DDS::ReturnCode_t OpenDDS::RTPS::blob_to_locators ( const DCPS::TransportBLOB blob,
DCPS::LocatorSeq locators,
bool *  requires_inline_qos,
unsigned int *  pBytesRead 
)

Definition at line 28 of file BaseMessageUtils.cpp.

References ACE_ERROR_RETURN, ACE_TEXT(), ACE_Message_Block::DONT_DELETE, get_locators_encoding(), ACE_Message_Block::length(), LM_ERROR, ACE_Message_Block::MB_DATA, DDS::RETCODE_ERROR, DDS::RETCODE_OK, OpenDDS::DCPS::Serializer::skip(), ACE_Message_Block::space(), and ACE_Message_Block::wr_ptr().

Referenced by OpenDDS::DCPS::RtpsUdpTransport::get_connection_addrs(), marshal_key_hash(), and transport_locator_to_locator_seq().

32 {
34  reinterpret_cast<const char*>(blob.get_buffer()),
35  0 /*alloc*/, 0 /*lock*/, ACE_Message_Block::DONT_DELETE, 0 /*db_alloc*/);
36  ACE_Message_Block mb(&db, ACE_Message_Block::DONT_DELETE, 0 /*mb_alloc*/);
37  mb.wr_ptr(mb.space());
38 
39  DCPS::Serializer ser(&mb, get_locators_encoding());
40  if (!(ser >> locators)) {
41  ACE_ERROR_RETURN((LM_ERROR,
42  ACE_TEXT("(%P|%t) blob_to_locators: ")
43  ACE_TEXT("Failed to deserialize blob's locators\n")),
45  }
46 
47  if (requires_inline_qos) {
48  if (!(ser >> ACE_InputCDR::to_boolean(*requires_inline_qos))) {
49  ACE_ERROR_RETURN((LM_ERROR,
50  ACE_TEXT("(%P|%t) blob_to_locators: ")
51  ACE_TEXT("Failed to deserialize blob inline QoS flag\n")),
53  }
54  } else {
55  if (!ser.skip(1)) {
56  ACE_ERROR_RETURN((LM_ERROR,
57  ACE_TEXT("(%P|%t) blob_to_locators: ")
58  ACE_TEXT("Failed to skip blob inline QoS flag\n")),
60  }
61  }
62 
63  if (pBytesRead) {
64  *pBytesRead = blob.length() - static_cast<unsigned int>(mb.length());
65  }
66  return DDS::RETCODE_OK;
67 }
ACE_TEXT("TCP_Factory")
const DCPS::Encoding & get_locators_encoding()
const ReturnCode_t RETCODE_OK
#define ACE_ERROR_RETURN(X, Y)
const ReturnCode_t RETCODE_ERROR

◆ cmp_ip4()

bool OpenDDS::RTPS::cmp_ip4 ( const ACE_INET_Addr a,
const DCPS::Locator_t locator 
)

Definition at line 593 of file Spdp.cpp.

References OpenDDS::DCPS::Locator_t::address, AF_INET, ACE_INET_Addr::get_addr(), OpenDDS::DCPS::Locator_t::kind, LOCATOR_KIND_UDPv4, LOCATOR_KIND_UDPv6, and ACE_OS::memcmp().

Referenced by is_ip_equal().

594 {
595  struct sockaddr_in* sa = static_cast<struct sockaddr_in*>(a.get_addr());
596  if (sa->sin_family == AF_INET && locator.kind == LOCATOR_KIND_UDPv4) {
597  const unsigned char* ip = reinterpret_cast<const unsigned char*>(&sa->sin_addr);
598  const unsigned char* la = reinterpret_cast<const unsigned char*>(locator.address) + 12;
599  return ACE_OS::memcmp(ip, la, 4) == 0;
600  }
601  return false;
602 }
virtual void * get_addr(void) const
const long LOCATOR_KIND_UDPv4
Definition: RtpsCore.idl:110
int memcmp(const void *t, const void *s, size_t len)

◆ create_association_data_proto()

void OpenDDS::RTPS::create_association_data_proto ( DCPS::AssociationData proto,
const ParticipantData_t pdata 
)

Definition at line 990 of file Sedp.cpp.

References OpenDDS::DCPS::assign(), OpenDDS::RTPS::OpenDDSParticipantFlags_t::bits, OpenDDS::Security::SPDPdiscoveredParticipantData::discoveredAt, OpenDDS::DCPS::GUID_t::guidPrefix, OpenDDS::RTPS::ParticipantProxy_t::guidPrefix, OpenDDS::RTPS::ParticipantProxy_t::opendds_participant_flags, OpenDDS::DCPS::AssociationData::participant_discovered_at_, OpenDDS::Security::SPDPdiscoveredParticipantData::participantProxy, populate_locators(), OpenDDS::DCPS::AssociationData::publication_transport_priority_, OpenDDS::DCPS::AssociationData::remote_data_, OpenDDS::DCPS::AssociationData::remote_durable_, OpenDDS::DCPS::AssociationData::remote_id_, OpenDDS::DCPS::AssociationData::remote_reliable_, and OpenDDS::DCPS::AssociationData::remote_transport_context_.

Referenced by OpenDDS::RTPS::Sedp::process_association_records_i().

991  {
992  proto.publication_transport_priority_ = 0;
993  proto.remote_reliable_ = true;
994  proto.remote_durable_ = true;
995  DCPS::assign(proto.remote_id_.guidPrefix, pdata.participantProxy.guidPrefix);
996  proto.participant_discovered_at_ = pdata.discoveredAt;
997  proto.remote_transport_context_ = pdata.participantProxy.opendds_participant_flags.bits;
998  populate_locators(proto.remote_data_, pdata);
999 }
void populate_locators(DCPS::TransportLocatorSeq &remote_data, const ParticipantData_t &pdata)
Definition: Sedp.cpp:960
void assign(EntityId_t &dest, const EntityId_t &src)
Definition: GuidUtils.h:168

◆ decode_parameter_list()

static bool OpenDDS::RTPS::decode_parameter_list ( const DCPS::ReceivedDataSample sample,
Serializer ser,
DCPS::Extensibility  extensibility,
ParameterList data 
)
static

Definition at line 4094 of file Sedp.cpp.

References OpenDDS::DCPS::FINAL, OpenDDS::DCPS::ReceivedDataSample::header_, OpenDDS::DCPS::DataSampleHeader::key_fields_only_, and PID_ENDPOINT_GUID.

Referenced by OpenDDS::RTPS::Sedp::DiscoveryReader::data_received_i().

4099 {
4100  if (sample.header_.key_fields_only_ && extensibility == DCPS::FINAL) {
4101  GUID_t guid;
4102  if (!(ser >> guid)) return false;
4103  data.length(1);
4104  data[0].guid(guid);
4105  data[0]._d(PID_ENDPOINT_GUID);
4106  } else {
4107  return ser >> data;
4108  }
4109  return true;
4110 }
const ParameterId_t PID_ENDPOINT_GUID
Definition: RtpsCore.idl:296

◆ disassociate_helper_extended()

void OpenDDS::RTPS::disassociate_helper_extended ( DDS::Security::ExtendedBuiltinEndpointSet_t extended_associated_endpoints,
const CORBA::ULong  flags,
const DCPS::RepoId id,
const EntityId_t ent,
DCPS::TransportClient client 
)

Definition at line 1400 of file Sedp.cpp.

References OpenDDS::DCPS::TransportClient::disassociate(), and OpenDDS::DCPS::make_id().

1403 {
1404  if (extended_associated_endpoints & flags) {
1405  client.disassociate(make_id(id, ent));
1406  extended_associated_endpoints &= ~flags;
1407  }
1408 }
GUID_t make_id(const GuidPrefix_t &prefix, const EntityId_t &entity)
Definition: GuidUtils.h:211

◆ get_locators_encoding()

OpenDDS_Rtps_Export const DCPS::Encoding & OpenDDS::RTPS::get_locators_encoding ( )

Definition at line 22 of file BaseMessageUtils.cpp.

References OpenDDS::STUN::encoding(), OpenDDS::DCPS::ENDIAN_BIG, and OpenDDS::DCPS::Encoding::KIND_XCDR1.

Referenced by blob_to_locators(), locators_to_blob(), marshal_key_hash(), populate_locators(), and OpenDDS::RTPS::Sedp::shutting_down().

23 {
24  static const Encoding encoding(Encoding::KIND_XCDR1, DCPS::ENDIAN_BIG);
25  return encoding;
26 }
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ handle_to_octets()

DDS::OctetSeq OpenDDS::RTPS::handle_to_octets ( DDS::Security::NativeCryptoHandle  handle)
inline

Definition at line 101 of file SecurityHelpers.h.

102 {
103  DDS::OctetSeq handleOctets(sizeof handle);
104  handleOctets.length(handleOctets.maximum());
105  unsigned char* rawHandleOctets = handleOctets.get_buffer();
106  unsigned int handleTmp = handle;
107  for (unsigned int j = sizeof handle; j > 0; --j) {
108  rawHandleOctets[j - 1] = handleTmp & 0xff;
109  handleTmp >>= 8;
110  }
111  return handleOctets;
112 }
sequence< octet > OctetSeq
Definition: DdsDcpsCore.idl:46

◆ has_security_data()

bool OpenDDS::RTPS::has_security_data ( Security::DiscoveredParticipantDataKind  kind)
inline

◆ ip_in_AgentInfo()

bool OpenDDS::RTPS::ip_in_AgentInfo ( const ACE_INET_Addr from,
const ParameterList plist 
)

Definition at line 653 of file Spdp.cpp.

References ACE_ERROR, ACE_TEXT(), OpenDDS::RTPS::ParameterListConverter::from_param_list(), ACE_INET_Addr::is_ip_equal(), LM_ERROR, SEDP_AGENT_INFO_KEY, and SPDP_AGENT_INFO_KEY.

Referenced by OpenDDS::RTPS::Spdp::data_received().

654 {
655  bool found = false;
656  ICE::AgentInfoMap ai_map;
657  if (!ParameterListConverter::from_param_list(plist, ai_map)) {
658  ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) ERROR: ip_in_AgentInfo - failed to convert ParameterList to AgentInfoMap\n")));
659  return found;
660  }
661  ICE::AgentInfoMap::const_iterator sedp_i = ai_map.find(SEDP_AGENT_INFO_KEY);
662  if (sedp_i != ai_map.end()) {
663  const ICE::AgentInfo::CandidatesType& cs = sedp_i->second.candidates;
664  for (ICE::AgentInfo::const_iterator i = cs.begin(); i != cs.end(); ++i) {
665  if (from.is_ip_equal(i->address)) {
666  found = true;
667  break;
668  }
669  }
670  }
671  ICE::AgentInfoMap::const_iterator spdp_i = ai_map.find(SPDP_AGENT_INFO_KEY);
672  if (!found && spdp_i != ai_map.end()) {
673  const ICE::AgentInfo::CandidatesType& cs = spdp_i->second.candidates;
674  for (ICE::AgentInfo::const_iterator i = cs.begin(); i != cs.end(); ++i) {
675  if (from.is_ip_equal(i->address)) {
676  found = true;
677  break;
678  }
679  }
680  }
681  return found;
682 }
#define ACE_ERROR(X)
bool from_param_list(const ParameterList &param_list, DDS::ParticipantBuiltinTopicData &pbtd)
const char SPDP_AGENT_INFO_KEY[]
Definition: Spdp.h:63
bool is_ip_equal(const ACE_INET_Addr &SAP) const
const char SEDP_AGENT_INFO_KEY[]
Definition: Spdp.h:64
ACE_TEXT("TCP_Factory")

◆ ip_in_locator_list()

bool OpenDDS::RTPS::ip_in_locator_list ( const ACE_INET_Addr from,
const DCPS::LocatorSeq locators 
)

Definition at line 636 of file Spdp.cpp.

References ACE_DEBUG, ACE_TEXT(), OpenDDS::DCPS::LogAddr::c_str(), OpenDDS::DCPS::DCPS_debug_level, ACE_Addr::get_type(), is_ip_equal(), LM_DEBUG, and print_locator().

Referenced by OpenDDS::RTPS::Spdp::data_received().

637 {
638  if (DCPS::DCPS_debug_level >= 8) {
639  ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) ip_in_locator_list - from (type %d): %C\n"), from.get_type(), DCPS::LogAddr(from).c_str()));
640  }
641  for (CORBA::ULong i = 0; i < locators.length(); ++i) {
642  if (DCPS::DCPS_debug_level >= 8) {
643  print_locator(i, locators[i]);
644  }
645  if (is_ip_equal(from, locators[i])) {
646  return true;
647  }
648  }
649  return false;
650 }
#define ACE_DEBUG(X)
int get_type(void) const
void print_locator(const CORBA::ULong i, const DCPS::Locator_t &o)
Definition: Spdp.cpp:627
ACE_CDR::ULong ULong
ACE_TEXT("TCP_Factory")
bool is_ip_equal(const ACE_INET_Addr &a, const DCPS::Locator_t &locator)
Definition: Spdp.cpp:617
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
Definition: debug.cpp:23

◆ is_ip_equal()

bool OpenDDS::RTPS::is_ip_equal ( const ACE_INET_Addr a,
const DCPS::Locator_t locator 
)

Definition at line 617 of file Spdp.cpp.

References cmp_ip4(), and ACE_Addr::get_type().

Referenced by ip_in_locator_list().

618 {
619 #ifdef ACE_HAS_IPV6
620  if (a.get_type() == AF_INET6) {
621  return cmp_ip6(a, locator);
622  }
623 #endif
624  return cmp_ip4(a, locator);
625 }
int get_type(void) const
bool cmp_ip4(const ACE_INET_Addr &a, const DCPS::Locator_t &locator)
Definition: Spdp.cpp:593

◆ locators_changed()

bool OpenDDS::RTPS::locators_changed ( const ParticipantProxy_t x,
const ParticipantProxy_t y 
)

Definition at line 5935 of file Sedp.cpp.

Referenced by OpenDDS::RTPS::Spdp::handle_participant_data().

5937 {
5938  return locatorsChanged(x, y);
5939 }

◆ locators_to_blob()

OpenDDS_Rtps_Export void OpenDDS::RTPS::locators_to_blob ( const DCPS::LocatorSeq locators,
DCPS::TransportBLOB blob 
)

Definition at line 69 of file BaseMessageUtils.cpp.

References ACE_ERROR, ACE_TEXT(), OpenDDS::STUN::encoding(), get_locators_encoding(), LM_ERROR, message_block_to_sequence(), OpenDDS_Rtps_Export, and OpenDDS::DCPS::serialized_size().

Referenced by marshal_key_hash(), and OpenDDS::DCPS::RtpsUdpInst::populate_locator().

71 {
72  using namespace OpenDDS::DCPS;
74  size_t size = 0;
75  serialized_size(encoding, size, locators);
76  ACE_Message_Block mb_locator(size + 1);
77  Serializer ser(&mb_locator, encoding);
78  if (!(ser << locators)) {
79  ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) locators_to_blob: ")
80  ACE_TEXT("Failed to serialize locators to blob\n")));
81  }
82  // Add a bool for 'requires inline qos', see Sedp::set_inline_qos():
83  // if the bool is no longer the last octet of the sequence then that function
84  // must be changed as well.
85  if (!(ser << ACE_OutputCDR::from_boolean(false))) {
86  ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) locators_to_blob: ")
87  ACE_TEXT("Failed to serialize boolean for blob\n")));
88  }
89  message_block_to_sequence(mb_locator, blob);
90 }
Class to serialize and deserialize data for DDS.
Definition: Serializer.h:346
#define ACE_ERROR(X)
void serialized_size(const Encoding &encoding, size_t &size, const XTypes::TypeLookup_getTypes_In &stru)
Definition: TypeLookup.cpp:13
ACE_TEXT("TCP_Factory")
const DCPS::Encoding & get_locators_encoding()
void message_block_to_sequence(const ACE_Message_Block &mb_locator, T &out)
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ log_message()

OpenDDS_Rtps_Export void OpenDDS::RTPS::log_message ( const char *  format,
const DCPS::GuidPrefix_t prefix,
bool  send,
const Message message 
)

Log a serialized RTPS message.

Definition at line 34 of file RTPS/Logging.cpp.

References ACE_DEBUG, LM_DEBUG, and OpenDDS::DCPS::vwrite().

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::bundle_and_send_submessages(), OpenDDS::RTPS::Spdp::SpdpTransport::dispose_unregister(), OpenDDS::DCPS::RtpsUdpDataLink::durability_resend(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::finish_message(), OpenDDS::RTPS::Spdp::SpdpTransport::handle_input(), OpenDDS::DCPS::RtpsUdpSendStrategy::marshal_transport_header(), and OpenDDS::RTPS::Spdp::SpdpTransport::write_i().

38 {
39 #if OPENDDS_HAS_JSON_VALUE_WRITER
40  DCPS::JsonValueWriter<> jvw;
41  jvw.begin_struct();
42  jvw.begin_struct_member("guidPrefix");
43  vwrite(jvw, prefix);
44  jvw.end_struct_member();
45  jvw.begin_struct_member("send");
46  jvw.write_boolean(send);
47  jvw.end_struct_member();
48  jvw.begin_struct_member("message");
49  vwrite(jvw, message);
50  jvw.end_struct_member();
51  jvw.end_struct();
52  ACE_DEBUG((LM_DEBUG, format, jvw.buffer().GetString()));
53 #else
54  ACE_UNUSED_ARG(format);
55  ACE_UNUSED_ARG(prefix);
56  ACE_UNUSED_ARG(send);
57  ACE_UNUSED_ARG(message);
58  ACE_DEBUG((LM_DEBUG, "ERROR: OpenDDS lacks JSON serialization support, can't log RTPS messages\n"));
59 #endif
60 }
#define ACE_DEBUG(X)
void vwrite(ValueWriter &vw, const GuidPrefix_t &prefix)

◆ marshal_key_hash()

template<typename T >
void OpenDDS::RTPS::marshal_key_hash ( const T &  msg,
KeyHash_t hash 
)

Definition at line 52 of file BaseMessageUtils.h.

References blob_to_locators(), OpenDDS::STUN::encoding(), OpenDDS::DCPS::ENDIAN_BIG, OpenDDS::DCPS::SerializedSizeBound::get(), get_locators_encoding(), OpenDDS::DCPS::Encoding::KIND_XCDR1, ACE_Message_Block::length(), locators_to_blob(), OpenDDS::DCPS::MD5Hash(), OpenDDS_Rtps_Export, ACE_Message_Block::rd_ptr(), OpenDDS::DCPS::serialized_size(), transport_locator_to_locator_seq(), and OpenDDS::RTPS::KeyHash_t::value.

53 {
54  using DCPS::Serializer;
55  using DCPS::Encoding;
56  typedef DCPS::MarshalTraits<T> Traits;
57 
58  DCPS::KeyOnly<const T> ko(msg);
59 
60  static const size_t hash_limit = 16;
61  std::memset(hash.value, 0, hash_limit);
62 
63  const Encoding encoding(Encoding::KIND_XCDR1, DCPS::ENDIAN_BIG);
65  Traits::key_only_serialized_size_bound(encoding);
66 
67  if (bound && bound.get() <= hash_limit) {
68  // If it is bounded and can always fit in 16 bytes, we will use the
69  // marshaled key
70  ACE_Message_Block mb(hash_limit);
71  Serializer out_serializer(&mb, encoding);
72  out_serializer << ko;
73  std::memcpy(hash.value, mb.rd_ptr(), mb.length());
74 
75  } else {
76  // We will use the hash of the marshaled key
78  Serializer out_serializer(&mb, encoding);
79  out_serializer << ko;
80 
81  DCPS::MD5Hash(hash.value, mb.rd_ptr(), mb.length());
82  }
83 }
void MD5Hash(MD5Result &result, const void *input, size_t size)
Definition: Hash.cpp:323
void serialized_size(const Encoding &encoding, size_t &size, const XTypes::TypeLookup_getTypes_In &stru)
Definition: TypeLookup.cpp:13
int hash(const std::vector< const DDS::OctetSeq *> &src, DDS::OctetSeq &dst)
Definition: Utils.cpp:132
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ message_block_to_sequence()

template<typename T >
void OpenDDS::RTPS::message_block_to_sequence ( const ACE_Message_Block mb_locator,
T &  out 
)

Definition at line 102 of file BaseMessageUtils.h.

References ACE_Message_Block::length(), and ACE_Message_Block::rd_ptr().

Referenced by locators_to_blob(), populate_locators(), and OpenDDS::RTPS::Sedp::shutting_down().

103 {
104  out.length (CORBA::ULong(mb_locator.length()));
105  std::memcpy (out.get_buffer(), mb_locator.rd_ptr(), mb_locator.length());
106 }
size_t length(void) const
char * rd_ptr(void) const
ACE_CDR::ULong ULong

◆ OPENDDS_MAP()

typedef OpenDDS::RTPS::OPENDDS_MAP ( DDS::DomainId_t  ,
ParticipantMap   
)

◆ OPENDDS_MAP_CMP() [1/2]

typedef OpenDDS::RTPS::OPENDDS_MAP_CMP ( GUID_t  ,
ParticipantHandle  ,
GUID_tKeyLessThan   
)

◆ OPENDDS_MAP_CMP() [2/2]

typedef OpenDDS::RTPS::OPENDDS_MAP_CMP ( GUID_t  ,
DDS::Security::DatareaderCryptoTokenSeq  ,
GUID_tKeyLessThan   
)

◆ operator!=()

bool OpenDDS::RTPS::operator!= ( const DCPS::Locator_t x,
const DCPS::Locator_t y 
)

Definition at line 4002 of file Spdp.cpp.

References OpenDDS::DCPS::Locator_t::address, and OpenDDS::DCPS::Locator_t::kind.

4003 {
4004  return x.kind != y.kind && x.port != y.port && x.address != y.address;
4005 }

◆ operator<()

bool OpenDDS::RTPS::operator< ( const ProtocolVersion_t v1,
const ProtocolVersion_t v2 
)
inline

Definition at line 122 of file BaseMessageUtils.h.

References OpenDDS::RTPS::ProtocolVersion_t::major, OpenDDS::RTPS::ProtocolVersion_t::minor, OpenDDS_Rtps_Export, and rtps_duration_to_time_duration().

123 {
124  return (v1.major < v2.major || (v1.major == v2.major && v1.minor < v2.minor));
125 }

◆ operator==() [1/4]

bool OpenDDS::RTPS::operator== ( const StatusInfo_t lhs,
const StatusInfo_t rhs 
)
inline

Definition at line 46 of file RtpsSampleHeader.cpp.

References OpenDDS::RTPS::StatusInfo_t::value.

47 {
48  return
49  (lhs.value[3] == rhs.value[3]) &&
50  (lhs.value[2] == rhs.value[2]) &&
51  (lhs.value[1] == rhs.value[1]) &&
52  (lhs.value[0] == rhs.value[0]);
53 }

◆ operator==() [2/4]

bool OpenDDS::RTPS::operator== ( const Duration_t x,
const Duration_t y 
)
inline

Definition at line 110 of file BaseMessageUtils.h.

References OpenDDS::RTPS::Duration_t::fraction, and OpenDDS::RTPS::Duration_t::seconds.

111 {
112  return x.seconds == y.seconds && x.fraction == y.fraction;
113 }

◆ operator==() [3/4]

bool OpenDDS::RTPS::operator== ( const VendorId_t v1,
const VendorId_t v2 
)
inline

Definition at line 115 of file BaseMessageUtils.h.

References OpenDDS::RTPS::VendorId_t::vendorId.

116 {
117  return (v1.vendorId[0] == v2.vendorId[0] && v1.vendorId[1] == v2.vendorId[1]);
118 }

◆ operator==() [4/4]

bool OpenDDS::RTPS::operator== ( const DCPS::Locator_t x,
const DCPS::Locator_t y 
)

Definition at line 3996 of file Spdp.cpp.

References OpenDDS::DCPS::Locator_t::address, and OpenDDS::DCPS::Locator_t::kind.

3997 {
3998  return x.kind == y.kind && x.port == y.port && x.address == y.address;
3999 }

◆ parse_submessages()

OpenDDS_Rtps_Export void OpenDDS::RTPS::parse_submessages ( Message message,
const ACE_Message_Block mb 
)

Definition at line 62 of file RTPS/Logging.cpp.

References ACE_ERROR, ACE_TEXT(), append_submessage(), DATA, DATA_FRAG, INFO_DST, INFO_TS, LM_ERROR, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::RTPS::MessageParser::parseSubmessageHeader(), OpenDDS::RTPS::MessageParser::serializer(), OpenDDS::RTPS::MessageParser::skipToNextSubmessage(), OpenDDS::RTPS::MessageParser::submessageHeader(), and OpenDDS::RTPS::SubmessageHeader::submessageId.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::durability_resend().

64 {
65  MessageParser mp(mb);
66  DCPS::Serializer& ser = mp.serializer();
67 
68  while (mp.parseSubmessageHeader()) {
69  switch (mp.submessageHeader().submessageId) {
70  case RTPS::INFO_DST: {
71  RTPS::InfoDestinationSubmessage sm;
72  ser >> sm;
73  append_submessage(message, sm);
74  break;
75  }
76  case RTPS::INFO_TS: {
77  RTPS::InfoTimestampSubmessage sm;
78  ser >> sm;
79  append_submessage(message, sm);
80  break;
81  }
82  case RTPS::DATA: {
83  RTPS::DataSubmessage sm;
84  ser >> sm;
85  append_submessage(message, sm);
86  break;
87  }
88  case RTPS::DATA_FRAG: {
89  RTPS::DataFragSubmessage sm;
90  ser >> sm;
91  append_submessage(message, sm);
92  break;
93  }
94  default:
95  ACE_ERROR((LM_ERROR,
96  ACE_TEXT("(%P|%t) ERROR: parse_submessages() - ")
97  ACE_TEXT("unhandle submessageId %d\n"), mp.submessageHeader().submessageId));
98  break;
99  }
100  mp.skipToNextSubmessage();
101  }
102 }
#define ACE_ERROR(X)
ACE_TEXT("TCP_Factory")
void append_submessage(RTPS::Message &message, const RTPS::InfoDestinationSubmessage &submessage)

◆ populate_locators()

void OpenDDS::RTPS::populate_locators ( DCPS::TransportLocatorSeq remote_data,
const ParticipantData_t pdata 
)

Definition at line 960 of file Sedp.cpp.

References OpenDDS::DCPS::boolean_cdr_size, OpenDDS::STUN::encoding(), get_locators_encoding(), message_block_to_sequence(), OpenDDS::RTPS::ParticipantProxy_t::metatrafficMulticastLocatorList, OpenDDS::RTPS::ParticipantProxy_t::metatrafficUnicastLocatorList, OpenDDS::Security::SPDPdiscoveredParticipantData::participantProxy, OpenDDS::DCPS::serialized_size(), and OpenDDS::DCPS::uint32_cdr_size.

Referenced by create_association_data_proto(), and OpenDDS::RTPS::Sedp::update_locators().

962 {
963  const DCPS::LocatorSeq& mll =
964  pdata.participantProxy.metatrafficMulticastLocatorList;
965  const DCPS::LocatorSeq& ull =
966  pdata.participantProxy.metatrafficUnicastLocatorList;
967  const CORBA::ULong locator_count = mll.length() + ull.length();
968 
970  ACE_Message_Block mb_locator(
972  (locator_count * serialized_size(encoding, DCPS::Locator_t())) + DCPS::boolean_cdr_size);
973  Serializer ser_loc(&mb_locator, encoding);
974  ser_loc << locator_count;
975 
976  for (CORBA::ULong i = 0; i < mll.length(); ++i) {
977  ser_loc << mll[i];
978  }
979  for (CORBA::ULong i = 0; i < ull.length(); ++i) {
980  ser_loc << ull[i];
981  }
982  ser_loc << ACE_OutputCDR::from_boolean(false); // requires_inline_qos
983 
984  remote_data.length(1);
985  remote_data[0].transport_type = "rtps_udp";
986  message_block_to_sequence (mb_locator, remote_data[0].data);
987 }
void serialized_size(const Encoding &encoding, size_t &size, const XTypes::TypeLookup_getTypes_In &stru)
Definition: TypeLookup.cpp:13
ACE_CDR::ULong ULong
const size_t uint32_cdr_size
Definition: Serializer.h:82
const size_t boolean_cdr_size
Definition: Serializer.h:75
const DCPS::Encoding & get_locators_encoding()
sequence< Locator_t > LocatorSeq
void message_block_to_sequence(const ACE_Message_Block &mb_locator, T &out)
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ print_locator()

void OpenDDS::RTPS::print_locator ( const CORBA::ULong  i,
const DCPS::Locator_t o 
)

Definition at line 627 of file Spdp.cpp.

References ACE_DEBUG, ACE_TEXT(), OpenDDS::DCPS::Locator_t::address, OpenDDS::DCPS::LogAddr::c_str(), OpenDDS::DCPS::Locator_t::kind, LM_DEBUG, and OpenDDS::DCPS::locator_to_address().

Referenced by ip_in_locator_list().

627  {
628  const unsigned char* a = reinterpret_cast<const unsigned char*>(o.address);
629  ACE_INET_Addr addr;
630  bool b = locator_to_address(addr, o, false) == 0;
631  ACE_DEBUG((LM_DEBUG, ACE_TEXT("locator%d(kind:%d)[%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d.%d] locator_to_address:%C\n"),
632  i, o.kind, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15],
633  (b ? DCPS::LogAddr(addr).c_str() : "failed")));
634 }
#define ACE_DEBUG(X)
int locator_to_address(ACE_INET_Addr &dest, const DCPS::Locator_t &locator, bool map)
ACE_TEXT("TCP_Factory")

◆ rtps_duration_to_time_duration()

OpenDDS_Rtps_Export DCPS::TimeDuration OpenDDS::RTPS::rtps_duration_to_time_duration ( const Duration_t rtps_duration,
const ProtocolVersion_t version,
const VendorId_t vendor 
)

Definition at line 168 of file BaseMessageUtils.cpp.

References DURATION_INFINITE, OpenDDS::RTPS::Duration_t::fraction, OpenDDS::DCPS::TimeDuration::max_value, PROTOCOLVERSION_2_4, OpenDDS::RTPS::Duration_t::seconds, OpenDDS::DCPS::uint32_fractional_seconds_to_microseconds(), and VENDORID_OPENDDS.

Referenced by operator<(), OpenDDS::RTPS::Spdp::process_location_updates_i(), and OpenDDS::RTPS::Spdp::update_lease_expiration_i().

169 {
170  if (rtps_duration == DURATION_INFINITE) {
171  return DCPS::TimeDuration::max_value;
172  }
173 
174  if (version < PROTOCOLVERSION_2_4 && vendor == VENDORID_OPENDDS) {
176  rtps_duration.seconds,
177  static_cast<ACE_UINT32>(rtps_duration.fraction / 1000));
178  } else {
180  rtps_duration.seconds,
181  DCPS::uint32_fractional_seconds_to_microseconds(rtps_duration.fraction));
182  }
183 }
ACE_INLINE OpenDDS_Dcps_Export ACE_UINT32 uint32_fractional_seconds_to_microseconds(ACE_UINT32 fraction)
const ProtocolVersion_t PROTOCOLVERSION_2_4
const VendorId_t VENDORID_OPENDDS
const Duration_t DURATION_INFINITE

◆ security_attributes_to_bitmask() [1/2]

DDS::Security::ParticipantSecurityAttributesMask OpenDDS::RTPS::security_attributes_to_bitmask ( const DDS::Security::ParticipantSecurityAttributes sec_attr)
inline

Definition at line 52 of file SecurityHelpers.h.

References DDS::Security::ParticipantSecurityAttributes::is_discovery_protected, DDS::Security::ParticipantSecurityAttributes::is_liveliness_protected, DDS::Security::ParticipantSecurityAttributes::is_rtps_protected, DDS::Security::PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED, DDS::Security::PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED, DDS::Security::PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_PROTECTED, and DDS::Security::PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_VALID.

Referenced by OpenDDS::RTPS::Spdp::build_local_pdata(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::check_encoded(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::decode_payload(), OpenDDS::RTPS::Sedp::write_publication_data_secure(), and OpenDDS::RTPS::Sedp::write_subscription_data_secure().

53 {
54  using namespace DDS::Security;
55 
57  if (sec_attr.is_rtps_protected) {
59  }
60  if (sec_attr.is_discovery_protected) {
62  }
63  if (sec_attr.is_liveliness_protected) {
65  }
66  return result;
67 }
const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_VALID
const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
unsigned long ParticipantSecurityAttributesMask
const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_PROTECTED
const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED

◆ security_attributes_to_bitmask() [2/2]

DDS::Security::EndpointSecurityAttributesMask OpenDDS::RTPS::security_attributes_to_bitmask ( const DDS::Security::EndpointSecurityAttributes sec_attr)
inline

Definition at line 70 of file SecurityHelpers.h.

References DDS::Security::EndpointSecurityAttributes::base, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_KEY_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_READ_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_VALID, DDS::Security::ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED, DDS::Security::TopicSecurityAttributes::is_discovery_protected, DDS::Security::EndpointSecurityAttributes::is_key_protected, DDS::Security::TopicSecurityAttributes::is_liveliness_protected, DDS::Security::EndpointSecurityAttributes::is_payload_protected, DDS::Security::TopicSecurityAttributes::is_read_protected, DDS::Security::EndpointSecurityAttributes::is_submessage_protected, and DDS::Security::TopicSecurityAttributes::is_write_protected.

71 {
72  using namespace DDS::Security;
73 
75 
76  if (sec_attr.base.is_read_protected)
78 
79  if (sec_attr.base.is_write_protected)
81 
82  if (sec_attr.base.is_discovery_protected)
84 
85  if (sec_attr.base.is_liveliness_protected)
87 
88  if (sec_attr.is_submessage_protected)
90 
91  if (sec_attr.is_payload_protected)
93 
94  if (sec_attr.is_key_protected)
96 
97  return result;
98 }
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_KEY_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_VALID
unsigned long EndpointSecurityAttributesMask
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED
const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_READ_PROTECTED

◆ to_opendds_seqnum()

DCPS::SequenceNumber OpenDDS::RTPS::to_opendds_seqnum ( const RTPS::SequenceNumber_t rtps_seqnum)
inline

◆ to_rtps_seqnum()

RTPS::SequenceNumber_t OpenDDS::RTPS::to_rtps_seqnum ( const DCPS::SequenceNumber opendds_seqnum)
inline

◆ transport_locator_to_locator_seq()

OpenDDS_Rtps_Export DCPS::LocatorSeq OpenDDS::RTPS::transport_locator_to_locator_seq ( const DCPS::TransportLocator info)

Definition at line 93 of file BaseMessageUtils.cpp.

References blob_to_locators(), and OpenDDS::DCPS::TransportLocator::data.

Referenced by marshal_key_hash(), OpenDDS::RTPS::Sedp::multicast_locators(), and OpenDDS::RTPS::Sedp::unicast_locators().

94 {
95  DCPS::LocatorSeq locators;
96  blob_to_locators(info.data, locators);
97  return locators;
98 }
DDS::ReturnCode_t blob_to_locators(const DCPS::TransportBLOB &blob, DCPS::LocatorSeq &locators, bool *requires_inline_qos, unsigned int *pBytesRead)
sequence< Locator_t > LocatorSeq

◆ valid_size()

bool OpenDDS::RTPS::valid_size ( const ACE_INET_Addr a)

Definition at line 3016 of file Spdp.cpp.

References ACE_INET_Addr::get_addr_size(), and ACE_Addr::get_size().

Referenced by OpenDDS::RTPS::Spdp::SpdpTransport::handle_input().

3017 {
3018  return a.get_size() <= a.get_addr_size();
3019 }
int get_size(void) const
int get_addr_size(void) const

Variable Documentation

◆ AC_EMPTY

const int OpenDDS::RTPS::AC_EMPTY = 0

Definition at line 112 of file Sedp.h.

Referenced by OpenDDS::RTPS::Sedp::associate().

◆ AC_GENERATE_REMOTE_MATCHED_CRYPTO_HANDLE

const int OpenDDS::RTPS::AC_GENERATE_REMOTE_MATCHED_CRYPTO_HANDLE = 1 << 2

◆ AC_LOCAL_TOKENS_SENT

const int OpenDDS::RTPS::AC_LOCAL_TOKENS_SENT = 1 << 4

Definition at line 117 of file Sedp.h.

Referenced by OpenDDS::RTPS::BuiltinAssociationRecord::local_tokens_sent().

◆ AC_REMOTE_DURABLE

const int OpenDDS::RTPS::AC_REMOTE_DURABLE = 1 << 1

◆ AC_REMOTE_RELIABLE

const int OpenDDS::RTPS::AC_REMOTE_RELIABLE = 1 << 0

◆ AC_SEND_LOCAL_TOKEN

const int OpenDDS::RTPS::AC_SEND_LOCAL_TOKEN = 1 << 3

◆ BEST_EFFORT

const short OpenDDS::RTPS::BEST_EFFORT = 1

◆ BEST_EFFORT_PARTICIPANT_MESSAGE_DATA_READER

const BuiltinEndpointQos_t OpenDDS::RTPS::BEST_EFFORT_PARTICIPANT_MESSAGE_DATA_READER
Initial value:
=
1 << 0

Definition at line 232 of file RtpsCore.idl.

Referenced by OpenDDS::RTPS::Sedp::associate().

◆ BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER

◆ BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER

◆ BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_READER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_READER

◆ BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_WRITER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_TYPE_LOOKUP_REPLY_DATA_WRITER

◆ BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_READER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_READER

◆ BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_WRITER

const BuiltinEndpointSet_t OpenDDS::RTPS::BUILTIN_ENDPOINT_TYPE_LOOKUP_REQUEST_DATA_WRITER

◆ DATA_FRAG_OCTETS_TO_IQOS

const ACE_CDR::UShort OpenDDS::RTPS::DATA_FRAG_OCTETS_TO_IQOS = 28

Definition at line 20 of file MessageTypes.h.

Referenced by OpenDDS::DCPS::RtpsSampleHeader::split().

◆ DATA_OCTETS_TO_IQOS

const ACE_CDR::UShort OpenDDS::RTPS::DATA_OCTETS_TO_IQOS = 16

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_ANNOUNCER

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_ANNOUNCER
Initial value:
=
1 << 0

Definition at line 197 of file RtpsCore.idl.

Referenced by OpenDDS::RTPS::Spdp::init(), and OpenDDS::RTPS::Sedp::update_locators().

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_DETECTOR

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_DETECTOR
Initial value:
=
1 << 1

Definition at line 199 of file RtpsCore.idl.

Referenced by OpenDDS::RTPS::Spdp::init(), and OpenDDS::RTPS::Sedp::update_locators().

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER
Initial value:
=
1 << 6

Definition at line 209 of file RtpsCore.idl.

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_DETECTOR

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_DETECTOR
Initial value:
=
1 << 7

Definition at line 211 of file RtpsCore.idl.

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_ANNOUNCER

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_ANNOUNCER
Initial value:
=
1 << 8

Definition at line 213 of file RtpsCore.idl.

◆ DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR
Initial value:
=
1 << 9

Definition at line 215 of file RtpsCore.idl.

◆ DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER

◆ DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR

◆ DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER

◆ DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR

const BuiltinEndpointSet_t OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR

◆ DURATION_INFINITE

const Duration_t OpenDDS::RTPS::DURATION_INFINITE = { 0x7fffffff, 0xffffffffu }

Definition at line 23 of file BaseMessageTypes.h.

Referenced by rtps_duration_to_time_duration().

◆ DURATION_ZERO

const Duration_t OpenDDS::RTPS::DURATION_ZERO = { 0, 0u }

Definition at line 22 of file BaseMessageTypes.h.

◆ ENDPOINT_SECURITY_ATTRIBUTES_INFO_DEFAULT

const DDS::Security::EndpointSecurityInfo OpenDDS::RTPS::ENDPOINT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}

Definition at line 49 of file SecurityHelpers.h.

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER = {{0xff, 0x02, 0x00}, 0xc7}

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 34 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::association_complete_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Sedp::replay_durable_data_for(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER = {{0xff, 0x02, 0x00}, 0xc2}

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 33 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::LivelinessReader::data_received_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER = {{0x00, 0x02, 0x01}, 0xc4}

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER = {{0x00, 0x02, 0x01}, 0xc3}

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER = {{0xff, 0x02, 0x02}, 0xc4}

◆ ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER = {{0xff, 0x02, 0x02}, 0xc3}

◆ ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER = {{0xff, 0x00, 0x03}, 0xc7}

◆ ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER = {{0xff, 0x00, 0x03}, 0xc2}

◆ ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER = {{0xff, 0x00, 0x04}, 0xc7}

◆ ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER = {{0xff, 0x00, 0x04}, 0xc2}

◆ ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER

const EntityId_t OpenDDS::RTPS::ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER = {{0xff, 0x01, 0x01}, 0xc7}

◆ ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER

const EntityId_t OpenDDS::RTPS::ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER = {{0xff, 0x01, 0x01}, 0xc2}

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 39 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::DiscoveryReader::data_received_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_TL_SVC_REPLY_READER_SECURE

const EntityId_t OpenDDS::RTPS::ENTITYID_TL_SVC_REPLY_READER_SECURE = {{0xff, 0x03, 0x01}, 0xc4 }

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 45 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::association_complete_i(), OpenDDS::RTPS::Sedp::TypeLookupRequestReader::data_received_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_TL_SVC_REPLY_WRITER_SECURE

const EntityId_t OpenDDS::RTPS::ENTITYID_TL_SVC_REPLY_WRITER_SECURE = {{0xff, 0x03, 0x01}, 0xc3 }

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 44 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::TypeLookupReplyReader::data_received_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_TL_SVC_REQ_READER_SECURE

const EntityId_t OpenDDS::RTPS::ENTITYID_TL_SVC_REQ_READER_SECURE = {{0xff, 0x03, 0x00}, 0xc4 }

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 43 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::association_complete_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Sedp::send_type_lookup_request(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ ENTITYID_TL_SVC_REQ_WRITER_SECURE

const EntityId_t OpenDDS::RTPS::ENTITYID_TL_SVC_REQ_WRITER_SECURE = {{0xff, 0x03, 0x00}, 0xc3 }

The below entities are from the security spec. V1.1 section 7.3.7.1 "Mapping of the EntityIds for the Builtin DataWriters and DataReaders"

Definition at line 42 of file SecurityHelpers.h.

Referenced by OpenDDS::RTPS::Sedp::associate(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::TypeLookupRequestReader::data_received_i(), OpenDDS::RTPS::Sedp::disassociate(), OpenDDS::RTPS::Spdp::start_ice(), OpenDDS::RTPS::Spdp::stop_ice(), and OpenDDS::RTPS::Sedp::update_locators().

◆ FLAG_D

const octet OpenDDS::RTPS::FLAG_D = 4

◆ FLAG_E

const octet OpenDDS::RTPS::FLAG_E = 1

◆ FLAG_F

const octet OpenDDS::RTPS::FLAG_F = 2

◆ FLAG_I

const octet OpenDDS::RTPS::FLAG_I = 2

Definition at line 521 of file RtpsCore.idl.

◆ FLAG_K_IN_DATA

const octet OpenDDS::RTPS::FLAG_K_IN_DATA = 8

◆ FLAG_K_IN_FRAG

const octet OpenDDS::RTPS::FLAG_K_IN_FRAG = 4

◆ FLAG_L

const octet OpenDDS::RTPS::FLAG_L = 4

◆ FLAG_M

const octet OpenDDS::RTPS::FLAG_M = 2

Definition at line 522 of file RtpsCore.idl.

◆ FLAG_N_IN_DATA

const octet OpenDDS::RTPS::FLAG_N_IN_DATA = 16

◆ FLAG_N_IN_FRAG

const octet OpenDDS::RTPS::FLAG_N_IN_FRAG = 8

Definition at line 527 of file RtpsCore.idl.

Referenced by OpenDDS::DCPS::RtpsSampleHeader::split().

◆ FLAG_Q

const octet OpenDDS::RTPS::FLAG_Q = 2

◆ HEARTBEAT_SZ

const ACE_CDR::UShort OpenDDS::RTPS::HEARTBEAT_SZ = 28

◆ ICE_FULL

const IceAgentType_t OpenDDS::RTPS::ICE_FULL = 0x0

Definition at line 172 of file RtpsCore.idl.

◆ ICE_HOST

const IceCandidateType_t OpenDDS::RTPS::ICE_HOST = 0x0

Definition at line 183 of file RtpsCore.idl.

◆ ICE_LITE

const IceAgentType_t OpenDDS::RTPS::ICE_LITE = 0x1

Definition at line 173 of file RtpsCore.idl.

◆ ICE_PEER_REFLEXIVE

const IceCandidateType_t OpenDDS::RTPS::ICE_PEER_REFLEXIVE = 0x2

Definition at line 185 of file RtpsCore.idl.

◆ ICE_RELAYED

const IceCandidateType_t OpenDDS::RTPS::ICE_RELAYED = 0x3

Definition at line 186 of file RtpsCore.idl.

◆ ICE_SERVER_REFLEXIVE

const IceCandidateType_t OpenDDS::RTPS::ICE_SERVER_REFLEXIVE = 0x1

Definition at line 184 of file RtpsCore.idl.

◆ INFO_DST_SZ

const ACE_CDR::UShort OpenDDS::RTPS::INFO_DST_SZ = 12

◆ INFO_SRC_SZ

const ACE_CDR::UShort OpenDDS::RTPS::INFO_SRC_SZ = 20

◆ INFO_TS_SZ

const ACE_CDR::UShort OpenDDS::RTPS::INFO_TS_SZ = 8

Definition at line 26 of file MessageTypes.h.

Referenced by OpenDDS::DCPS::RtpsSampleHeader::payload_byte_order().

◆ initialize_rtps

RtpsDiscovery::StaticInitializer OpenDDS::RTPS::initialize_rtps
static

Definition at line 1075 of file RtpsDiscovery.h.

◆ LOCATOR_ADDRESS_INVALID

const DDS::OctetArray16 OpenDDS::RTPS::LOCATOR_ADDRESS_INVALID = { 0 }

Definition at line 54 of file BaseMessageTypes.h.

◆ LOCATOR_INVALID

const OpenDDS::DCPS::Locator_t OpenDDS::RTPS::LOCATOR_INVALID
Initial value:
=
const unsigned long LOCATOR_PORT_INVALID
Definition: RtpsCore.idl:112
const long LOCATOR_KIND_INVALID
Definition: RtpsCore.idl:108

Definition at line 52 of file BaseMessageTypes.h.

Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::submsg().

◆ LOCATOR_KIND_INVALID

const long OpenDDS::RTPS::LOCATOR_KIND_INVALID = DCPS::LOCATOR_KIND_INVALID

Definition at line 108 of file RtpsCore.idl.

◆ LOCATOR_KIND_RESERVED

const long OpenDDS::RTPS::LOCATOR_KIND_RESERVED = DCPS::LOCATOR_KIND_RESERVED

Definition at line 109 of file RtpsCore.idl.

◆ LOCATOR_KIND_UDPv4

const long OpenDDS::RTPS::LOCATOR_KIND_UDPv4 = DCPS::LOCATOR_KIND_UDPv4

◆ LOCATOR_KIND_UDPv6

const long OpenDDS::RTPS::LOCATOR_KIND_UDPv6 = DCPS::LOCATOR_KIND_UDPv6

Definition at line 111 of file RtpsCore.idl.

Referenced by cmp_ip4().

◆ LOCATOR_PORT_INVALID

const unsigned long OpenDDS::RTPS::LOCATOR_PORT_INVALID = DCPS::LOCATOR_PORT_INVALID

Definition at line 112 of file RtpsCore.idl.

◆ LOCATORUDPv4_INVALID

const LocatorUDPv4_t OpenDDS::RTPS::LOCATORUDPv4_INVALID = { 0, 0 }

Definition at line 56 of file BaseMessageTypes.h.

◆ NO_KEY

const short OpenDDS::RTPS::NO_KEY = 1

Definition at line 131 of file RtpsCore.idl.

◆ PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE

const DCPS::EntityId_t OpenDDS::RTPS::PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE
Initial value:
=
{{0x00, 0x00, 0x00}, 0x01}

Definition at line 34 of file MessageTypes.h.

Referenced by OpenDDS::RTPS::Sedp::signal_liveliness_secure(), and OpenDDS::RTPS::Sedp::signal_liveliness_unsecure().

◆ PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE

const DCPS::EntityId_t OpenDDS::RTPS::PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE

◆ PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN

const DCPS::EntityId_t OpenDDS::RTPS::PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN
Initial value:
=
{{0x00, 0x00, 0x00}, 0x00}

Definition at line 32 of file MessageTypes.h.

◆ PARTICIPANT_SECURITY_ATTRIBUTES_INFO_DEFAULT

const DDS::Security::ParticipantSecurityInfo OpenDDS::RTPS::PARTICIPANT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}

Definition at line 48 of file SecurityHelpers.h.

◆ PFLAGS_DIRECTED_HEARTBEAT

const OpenDDSParticipantFlagsBits_t OpenDDS::RTPS::PFLAGS_DIRECTED_HEARTBEAT = 0x2

◆ PFLAGS_EMPTY

const OpenDDSParticipantFlagsBits_t OpenDDS::RTPS::PFLAGS_EMPTY = 0x0

Definition at line 320 of file RtpsCore.idl.

Referenced by OpenDDS::RTPS::Spdp::get_participant_flags().

◆ PFLAGS_NO_ASSOCIATED_WRITERS

const OpenDDSParticipantFlagsBits_t OpenDDS::RTPS::PFLAGS_NO_ASSOCIATED_WRITERS = 0x1

Definition at line 321 of file RtpsCore.idl.

Referenced by OpenDDS::RTPS::Spdp::is_expectant_opendds().

◆ PFLAGS_REFLECT_HEARTBEAT_COUNT

const OpenDDSParticipantFlagsBits_t OpenDDS::RTPS::PFLAGS_REFLECT_HEARTBEAT_COUNT = 0x4

◆ PFLAGS_THIS_VERSION

Definition at line 325 of file RtpsCore.idl.

◆ PID_BUILTIN_ENDPOINT_QOS

const ParameterId_t OpenDDS::RTPS::PID_BUILTIN_ENDPOINT_QOS = 0x0077

◆ PID_BUILTIN_ENDPOINT_SET

const ParameterId_t OpenDDS::RTPS::PID_BUILTIN_ENDPOINT_SET = 0x0058

◆ PID_COHERENT_SET

const ParameterId_t OpenDDS::RTPS::PID_COHERENT_SET = 0x0056

Definition at line 299 of file RtpsCore.idl.

◆ PID_CONTENT_FILTER_INFO

const ParameterId_t OpenDDS::RTPS::PID_CONTENT_FILTER_INFO = 0x0055

Definition at line 298 of file RtpsCore.idl.

◆ PID_CONTENT_FILTER_PROPERTY

const ParameterId_t OpenDDS::RTPS::PID_CONTENT_FILTER_PROPERTY = 0x0035

◆ PID_DATA_REPRESENTATION

const ParameterId_t OpenDDS::RTPS::PID_DATA_REPRESENTATION = 0x0073

◆ PID_DEADLINE

const ParameterId_t OpenDDS::RTPS::PID_DEADLINE = 0x0023

◆ PID_DEFAULT_MULTICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_DEFAULT_MULTICAST_LOCATOR = 0x0048

◆ PID_DEFAULT_UNICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_DEFAULT_UNICAST_LOCATOR = 0x0031

◆ PID_DESTINATION_ORDER

const ParameterId_t OpenDDS::RTPS::PID_DESTINATION_ORDER = 0x0025

◆ PID_DIRECTED_WRITE

const ParameterId_t OpenDDS::RTPS::PID_DIRECTED_WRITE = 0x0057

◆ PID_DOMAIN_ID

const ParameterId_t OpenDDS::RTPS::PID_DOMAIN_ID = 0x000f

◆ PID_DOMAIN_TAG

const ParameterId_t OpenDDS::RTPS::PID_DOMAIN_TAG = 0x4014

Definition at line 315 of file RtpsCore.idl.

◆ PID_DURABILITY

const ParameterId_t OpenDDS::RTPS::PID_DURABILITY = 0x001d

◆ PID_DURABILITY_SERVICE

const ParameterId_t OpenDDS::RTPS::PID_DURABILITY_SERVICE = 0x001e

◆ PID_ENDPOINT_GUID

const ParameterId_t OpenDDS::RTPS::PID_ENDPOINT_GUID = 0x005a

◆ PID_ENTITY_NAME

const ParameterId_t OpenDDS::RTPS::PID_ENTITY_NAME = 0x0062

Definition at line 292 of file RtpsCore.idl.

◆ PID_EXPECTS_INLINE_QOS

const ParameterId_t OpenDDS::RTPS::PID_EXPECTS_INLINE_QOS = 0x0043

◆ PID_GROUP_DATA

const ParameterId_t OpenDDS::RTPS::PID_GROUP_DATA = 0x002d

◆ PID_GROUP_GUID

const ParameterId_t OpenDDS::RTPS::PID_GROUP_GUID = 0x0052

Definition at line 288 of file RtpsCore.idl.

◆ PID_HISTORY

const ParameterId_t OpenDDS::RTPS::PID_HISTORY = 0x0040

Definition at line 266 of file RtpsCore.idl.

◆ PID_KEY_HASH

const ParameterId_t OpenDDS::RTPS::PID_KEY_HASH = 0x0070

◆ PID_LATENCY_BUDGET

const ParameterId_t OpenDDS::RTPS::PID_LATENCY_BUDGET = 0x0027

◆ PID_LIFESPAN

const ParameterId_t OpenDDS::RTPS::PID_LIFESPAN = 0x002b

◆ PID_LIVELINESS

const ParameterId_t OpenDDS::RTPS::PID_LIVELINESS = 0x001b

◆ PID_METATRAFFIC_MULTICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_METATRAFFIC_MULTICAST_LOCATOR = 0x0033

◆ PID_METATRAFFIC_UNICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_METATRAFFIC_UNICAST_LOCATOR = 0x0032

◆ PID_MULTICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_MULTICAST_LOCATOR = 0x0030

◆ PID_OPENDDS_ASSOCIATED_WRITER

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_ASSOCIATED_WRITER = PID_OPENDDS_BASE + 2

◆ PID_OPENDDS_BASE

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_BASE = PIDMASK_VENDOR_SPECIFIC + 0x3000

Definition at line 336 of file RtpsCore.idl.

◆ PID_OPENDDS_ICE_CANDIDATE

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_ICE_CANDIDATE = PID_OPENDDS_BASE + 4

◆ PID_OPENDDS_ICE_GENERAL

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_ICE_GENERAL = PID_OPENDDS_BASE + 3

◆ PID_OPENDDS_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_LOCATOR = PID_OPENDDS_BASE + 1

◆ PID_OPENDDS_PARTICIPANT_FLAGS

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_PARTICIPANT_FLAGS = PID_OPENDDS_BASE + 5

◆ PID_OPENDDS_RTPS_RELAY_APPLICATION_PARTICIPANT

const ParameterId_t OpenDDS::RTPS::PID_OPENDDS_RTPS_RELAY_APPLICATION_PARTICIPANT = PID_OPENDDS_BASE + 6

◆ PID_ORIGINAL_WRITER_INFO

const ParameterId_t OpenDDS::RTPS::PID_ORIGINAL_WRITER_INFO = 0x0061

Definition at line 301 of file RtpsCore.idl.

Referenced by OpenDDS::DCPS::RtpsSampleHeader::process_iqos().

◆ PID_OWNERSHIP

const ParameterId_t OpenDDS::RTPS::PID_OWNERSHIP = 0x001f

◆ PID_OWNERSHIP_STRENGTH

const ParameterId_t OpenDDS::RTPS::PID_OWNERSHIP_STRENGTH = 0x0006

◆ PID_PAD

const ParameterId_t OpenDDS::RTPS::PID_PAD = 0x0000

◆ PID_PARTICIPANT_BUILTIN_ENDPOINTS

const ParameterId_t OpenDDS::RTPS::PID_PARTICIPANT_BUILTIN_ENDPOINTS = 0x0044

◆ PID_PARTICIPANT_GUID

const ParameterId_t OpenDDS::RTPS::PID_PARTICIPANT_GUID = 0x0050

◆ PID_PARTICIPANT_LEASE_DURATION

const ParameterId_t OpenDDS::RTPS::PID_PARTICIPANT_LEASE_DURATION = 0x0002

◆ PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT

const ParameterId_t OpenDDS::RTPS::PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT = 0x0034

◆ PID_PARTITION

const ParameterId_t OpenDDS::RTPS::PID_PARTITION = 0x0029

◆ PID_PRESENTATION

const ParameterId_t OpenDDS::RTPS::PID_PRESENTATION = 0x0021

◆ PID_PROPERTY_LIST

const ParameterId_t OpenDDS::RTPS::PID_PROPERTY_LIST = 0x0059

◆ PID_PROTOCOL_VERSION

const ParameterId_t OpenDDS::RTPS::PID_PROTOCOL_VERSION = 0x0015

◆ PID_RELIABILITY

const ParameterId_t OpenDDS::RTPS::PID_RELIABILITY = 0x001a

◆ PID_RESOURCE_LIMITS

const ParameterId_t OpenDDS::RTPS::PID_RESOURCE_LIMITS = 0x0041

Definition at line 267 of file RtpsCore.idl.

◆ PID_SENTINEL

const ParameterId_t OpenDDS::RTPS::PID_SENTINEL = 0x0001

◆ PID_STATUS_INFO

const ParameterId_t OpenDDS::RTPS::PID_STATUS_INFO = 0x0071

Definition at line 294 of file RtpsCore.idl.

Referenced by OpenDDS::DCPS::RtpsSampleHeader::process_iqos().

◆ PID_TIME_BASED_FILTER

const ParameterId_t OpenDDS::RTPS::PID_TIME_BASED_FILTER = 0x0004

◆ PID_TOPIC_DATA

const ParameterId_t OpenDDS::RTPS::PID_TOPIC_DATA = 0x002e

◆ PID_TOPIC_NAME

const ParameterId_t OpenDDS::RTPS::PID_TOPIC_NAME = 0x0005

◆ PID_TRANSPORT_PRIORITY

const ParameterId_t OpenDDS::RTPS::PID_TRANSPORT_PRIORITY = 0x0049

Definition at line 273 of file RtpsCore.idl.

◆ PID_TYPE_MAX_SIZE_SERIALIZED

const ParameterId_t OpenDDS::RTPS::PID_TYPE_MAX_SIZE_SERIALIZED = 0x0060

Definition at line 291 of file RtpsCore.idl.

◆ PID_TYPE_NAME

const ParameterId_t OpenDDS::RTPS::PID_TYPE_NAME = 0x0007

◆ PID_UNICAST_LOCATOR

const ParameterId_t OpenDDS::RTPS::PID_UNICAST_LOCATOR = 0x002f

◆ PID_USER_DATA

const ParameterId_t OpenDDS::RTPS::PID_USER_DATA = 0x002c

◆ PID_VENDORID

const ParameterId_t OpenDDS::RTPS::PID_VENDORID = 0x0016

◆ PID_XTYPES_TYPE_CONSISTENCY

const ParameterId_t OpenDDS::RTPS::PID_XTYPES_TYPE_CONSISTENCY = 0x0074

◆ PID_XTYPES_TYPE_INFORMATION

const ParameterId_t OpenDDS::RTPS::PID_XTYPES_TYPE_INFORMATION = 0x0075

◆ PIDMASK_INCOMPATIBLE

const ParameterId_t OpenDDS::RTPS::PIDMASK_INCOMPATIBLE = 0x4000

◆ PIDMASK_VENDOR_SPECIFIC

const ParameterId_t OpenDDS::RTPS::PIDMASK_VENDOR_SPECIFIC = 0x8000

Definition at line 311 of file RtpsCore.idl.

◆ PROTOCOL_RTPS

const ACE_CDR::Octet OpenDDS::RTPS::PROTOCOL_RTPS[] = {'R', 'T', 'P', 'S'}

◆ PROTOCOLVERSION

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION = PROTOCOLVERSION_2_4

◆ PROTOCOLVERSION_1_0

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_1_0 = { 1, 0 }

Definition at line 60 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_1_1

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_1_1 = { 1, 1 }

Definition at line 61 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_2_0

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_2_0 = { 2, 0 }

Definition at line 62 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_2_1

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_2_1 = { 2, 1 }

Definition at line 63 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_2_2

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_2_2 = { 2, 2 }

Definition at line 64 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_2_3

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_2_3 = { 2, 3 }

Definition at line 65 of file BaseMessageTypes.h.

◆ PROTOCOLVERSION_2_4

const ProtocolVersion_t OpenDDS::RTPS::PROTOCOLVERSION_2_4 = { 2, 4 }

Definition at line 66 of file BaseMessageTypes.h.

Referenced by rtps_duration_to_time_duration().

◆ RELIABLE

const short OpenDDS::RTPS::RELIABLE = 2

◆ RTPS_DISCOVERY_ENDPOINT_ANNOUNCEMENTS

const char OpenDDS::RTPS::RTPS_DISCOVERY_ENDPOINT_ANNOUNCEMENTS[] = "OpenDDS.RtpsDiscovery.EndpointAnnouncements"

Definition at line 32 of file RtpsDiscovery.h.

Referenced by OpenDDS::RTPS::Spdp::init().

◆ RTPS_DISCOVERY_TYPE_LOOKUP_SERVICE

const char OpenDDS::RTPS::RTPS_DISCOVERY_TYPE_LOOKUP_SERVICE[] = "OpenDDS.RtpsDiscovery.TypeLookupService"

Definition at line 33 of file RtpsDiscovery.h.

Referenced by OpenDDS::RTPS::Spdp::init().

◆ RTPS_REFLECT_HEARTBEAT_COUNT

const char OpenDDS::RTPS::RTPS_REFLECT_HEARTBEAT_COUNT[] = "OpenDDS.Rtps.ReflectHeartbeatCount"

Definition at line 35 of file RtpsDiscovery.h.

Referenced by OpenDDS::RTPS::Spdp::init().

◆ RTPS_RELAY_APPLICATION_PARTICIPANT

const char OpenDDS::RTPS::RTPS_RELAY_APPLICATION_PARTICIPANT[] = "OpenDDS.Rtps.RelayApplicationParticipant"

Definition at line 34 of file RtpsDiscovery.h.

Referenced by OpenDDS::RTPS::Spdp::init().

◆ RTPSHDR_SZ

const ACE_CDR::UShort OpenDDS::RTPS::RTPSHDR_SZ = 20

◆ SEDP_AGENT_INFO_KEY

const char OpenDDS::RTPS::SEDP_AGENT_INFO_KEY[] = "SEDP"

◆ SEQUENCENUMBER_UNKNOWN

const SequenceNumber_t OpenDDS::RTPS::SEQUENCENUMBER_UNKNOWN = { -1, 0 }

◆ SM_ALIGN

const size_t OpenDDS::RTPS::SM_ALIGN = 4

◆ SMHDR_SZ

const ACE_CDR::UShort OpenDDS::RTPS::SMHDR_SZ = 4

◆ SPDP_AGENT_INFO_KEY

const char OpenDDS::RTPS::SPDP_AGENT_INFO_KEY[] = "SPDP"

◆ TIME_INVALID

const Time_t OpenDDS::RTPS::TIME_INVALID = { 0xffffffffu, 0xffffffffu }

◆ VENDORID_OPENDDS

const VendorId_t OpenDDS::RTPS::VENDORID_OPENDDS

◆ VENDORID_UNKNOWN

const VendorId_t OpenDDS::RTPS::VENDORID_UNKNOWN = { { 0 } }

Definition at line 25 of file BaseMessageTypes.h.

◆ WITH_KEY

const short OpenDDS::RTPS::WITH_KEY = 2

Definition at line 132 of file RtpsCore.idl.