OpenDDS::RTPS Namespace Reference

Namespaces

namespace  ParameterListConverter

Classes

class  GuidGenerator
struct  ContentFilterInfo_t
struct  EntityName_t
struct  Count_t
struct  SequenceNumber_t
struct  SequenceNumberSet
struct  Time_t
struct  LocatorUDPv4_t
struct  TopicKind_t
struct  ReliabilityKind_t
struct  KeyHash_t
struct  StatusInfo_t
struct  ProtocolVersion_t
struct  VendorId_t
struct  OriginalWriterInfo_t
union  Parameter
struct  SubmessageHeader
struct  FragmentNumber_t
struct  FragmentNumberSet
struct  AckNackSubmessage
struct  GapSubmessage
struct  InfoReplySubmessage
struct  NackFragSubmessage
struct  ParticipantProxy_t
struct  SPDPdiscoveredParticipantData
struct  ParticipantMessageData
struct  Header
struct  DataSubmessage
struct  DataFragSubmessage
struct  HeartBeatSubmessage
struct  HeartBeatFragSubmessage
struct  InfoDestinationSubmessage
struct  InfoSourceSubmessage
struct  InfoTimestampSubmessage
struct  PadSubmessage
struct  InfoReplyIp4Submessage
struct  SecuritySubmessage
union  Submessage
struct  DiscoveredTopicData
class  RtpsDiscovery
 Discovery Strategy class that implements RTPS discovery. More...
struct  DiscoveredWriterData_SecurityWrapper
struct  DiscoveredReaderData_SecurityWrapper
class  Sedp
class  WaitForAcks
 A class to wait on acknowledgments from other threads. More...
class  Spdp

Typedefs

typedef octet OctetArray2 [2]
typedef octet OctetArray4 [4]
typedef long FilterSignature_t [4]
typedef sequence< long > FilterResult_t
typedef sequence
< FilterSignature_t
FilterSignatureSeq
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 Time_t Duration_t
typedef unsigned long BuiltinEndpointSet_t
typedef sequence< ParameterParameterList
typedef unsigned short ParameterId_t
typedef sequence< SubmessageSubmessageSeq
typedef
OpenDDS::DCPS::RcHandle
< RtpsDiscovery
RtpsDiscovery_rch

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
}

Functions

int locator_to_address (ACE_INET_Addr &dest, const DCPS::Locator_t &locator, bool map)
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)
template<typename T >
void marshal_key_hash (const T &msg, KeyHash_t &hash)
void assign (GuidPrefix_t &dest, const GuidPrefix_t &src)
void assign (DCPS::OctetArray16 &dest, const DCPS::OctetArray16 &src)
void assign (DCPS::OctetArray16 &dest, const ACE_CDR::ULong &ipv4addr_be)
void assign (DCPS::EntityKey_t &lhs, unsigned int rhs)
void address_to_bytes (DCPS::OctetArray16 &dest, const ACE_INET_Addr &addr)
int address_to_kind (const ACE_INET_Addr &addr)
template<typename T >
void message_block_to_sequence (const ACE_Message_Block &mb_locator, T &out)
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 create_association_data_proto (DCPS::AssociationData &proto, const Security::SPDPdiscoveredParticipantData &pdata)
static bool decode_parameter_list (const DCPS::ReceivedDataSample &sample, DCPS::Serializer &ser, const ACE_CDR::Octet &encap, ParameterList &data)
bool operator== (const StatusInfo_t &lhs, const StatusInfo_t &rhs)

Variables

const Time_t TIME_ZERO = { 0, 0 }
const Time_t TIME_INVALID = { -1, 0xffffffff }
const Time_t TIME_INFINITE = { 0x7fffffff, 0xffffffff }
const double NANOS_TO_RTPS_FRACS = 4.294967296
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 OpenDDS::DCPS::OctetArray16 LOCATOR_ADDRESS_INVALID = { 0 }
const LocatorUDPv4_t LOCATORUDPv4_INVALID = { 0, 0 }
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 = PROTOCOLVERSION_2_3
const char BLOB_PROP_PART_CRYPTO_HANDLE [] = "ParticipantCryptoHandle"
const char BLOB_PROP_DW_CRYPTO_HANDLE [] = "DatawriterCryptoHandle"
const char BLOB_PROP_DR_CRYPTO_HANDLE [] = "DatareaderCryptoHandle"
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 OctetArray4 PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN
const OctetArray4 PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE
const OctetArray4 PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE
const long LOCATOR_KIND_INVALID = -1
const long LOCATOR_KIND_RESERVED = 0
const long LOCATOR_KIND_UDPv4 = 1
const long LOCATOR_KIND_UDPv6 = 2
const unsigned long LOCATOR_PORT_INVALID = 0
const short NO_KEY = 1
const short WITH_KEY = 2
const short BEST_EFFORT = 1
const short RELIABLE = 3
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 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_MULTICAST_IPADDRESS = 0x0011
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_DEFAULT_UNICAST_IPADDRESS = 0x000c
const ParameterId_t PID_DEFAULT_UNICAST_PORT = 0x000e
const ParameterId_t PID_METATRAFFIC_UNICAST_IPADDRESS = 0x0045
const ParameterId_t PID_METATRAFFIC_UNICAST_PORT = 0x000d
const ParameterId_t PID_METATRAFFIC_MULTICAST_IPADDRESS = 0x000b
const ParameterId_t PID_METATRAFFIC_MULTICAST_PORT = 0x0046
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_PARTICIPANT_ENTITYID = 0x0051
const ParameterId_t PID_GROUP_GUID = 0x0052
const ParameterId_t PID_GROUP_ENTITYID = 0x0053
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_ORIGINAL_WRITER_INFO = 0x0061
const ParameterId_t PIDMASK_VENDOR_SPECIFIC = 0x8000
const ParameterId_t PIDMASK_INCOMPATIBLE = 0x4000
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 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
static
RtpsDiscovery::StaticInitializer 
initialize_rtps
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
DDS::Security::ParticipantSecurityInfo 
PARTICIPANT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}
const
DDS::Security::EndpointSecurityInfo 
ENDPOINT_SECURITY_ATTRIBUTES_INFO_DEFAULT = {0, 0}

Typedef Documentation

typedef unsigned long OpenDDS::RTPS::BuiltinEndpointSet_t

Definition at line 156 of file RtpsCore.idl.

Definition at line 96 of file RtpsCore.idl.

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

Definition at line 26 of file RtpsCore.idl.

Definition at line 22 of file RtpsCore.idl.

Definition at line 28 of file RtpsCore.idl.

Definition at line 76 of file RtpsCore.idl.

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

Definition at line 63 of file RtpsCore.idl.

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

Definition at line 17 of file RtpsCore.idl.

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

Definition at line 18 of file RtpsCore.idl.

typedef unsigned short OpenDDS::RTPS::ParameterId_t

Definition at line 194 of file RtpsCore.idl.

Definition at line 182 of file RtpsCore.idl.

Definition at line 43 of file RtpsCore.idl.

Definition at line 44 of file RtpsCore.idl.

Definition at line 173 of file RtpsDiscovery.h.

Definition at line 781 of file RtpsCore.idl.

Definition at line 89 of file RtpsCore.idl.


Enumeration Type Documentation

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 673 of file RtpsCore.idl.

00673                         {
00674       SUBMESSAGE_NONE,
00675       PAD,            /* = 0x01, Pad */
00676       RESERVED_2,
00677       RESERVED_3,
00678       RESERVED_4,
00679       RESERVED_5,
00680       ACKNACK,        /* = 0x06, AckNack */
00681       HEARTBEAT,      /* = 0x07, Heartbeat */
00682       GAP,            /* = 0x08, Gap */
00683       INFO_TS,        /* = 0x09, InfoTimestamp */
00684       RESERVED_10,
00685       RESERVED_11,
00686       INFO_SRC,       /* = 0x0c, InfoSource */
00687       INFO_REPLY_IP4, /* = 0x0d, InfoReplyIp4 */
00688       INFO_DST,       /* = 0x0e, InfoDestination */
00689       INFO_REPLY,     /* = 0x0f, InfoReply */
00690       RESERVED_16,
00691       RESERVED_17,
00692       NACK_FRAG,      /* = 0x12, NackFrag */
00693       HEARTBEAT_FRAG, /* = 0x13, HeartbeatFrag */
00694       RESERVED_20,
00695       DATA,           /* = 0x15, Data */
00696       DATA_FRAG,      /* = 0x16, DataFrag */
00697       RESERVED_23,
00698       RESERVED_24,
00699       RESERVED_25,
00700       RESERVED_26,
00701       RESERVED_27,
00702       RESERVED_28,
00703       RESERVED_29,
00704       RESERVED_30,
00705       RESERVED_31,
00706       RESERVED_32,
00707       RESERVED_33,
00708       RESERVED_34,
00709       RESERVED_35,
00710       RESERVED_36,
00711       RESERVED_37,
00712       RESERVED_38,
00713       RESERVED_39,
00714       RESERVED_40,
00715       RESERVED_41,
00716       RESERVED_42,
00717       RESERVED_43,
00718       RESERVED_44,
00719       RESERVED_45,
00720       RESERVED_46,
00721       RESERVED_47,
00722       SEC_BODY,  // SubmessageKinds 0x30-3f reserved for security
00723       SEC_PREFIX,
00724       SEC_POSTFIX,
00725       SRTPS_PREFIX,
00726       SRTPS_POSTFIX,
00727       RESERVED_53_SECURITY
00728     };


Function Documentation

void OpenDDS::RTPS::address_to_bytes ( DCPS::OctetArray16 &  dest,
const ACE_INET_Addr addr 
) [inline]

Definition at line 105 of file BaseMessageUtils.h.

References ACE_INET_Addr::get_addr(), ACE_Addr::get_type(), and sockaddr_in::sin_addr.

Referenced by OpenDDS::RTPS::Spdp::init(), OpenDDS::DCPS::RtpsUdpInst::populate_locator(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::reset(), and OpenDDS::RTPS::Sedp::unicast_locators().

00106 {
00107   const void* raw = addr.get_addr();
00108 #ifdef ACE_HAS_IPV6
00109   if (addr.get_type() == AF_INET6) {
00110     const sockaddr_in6* in = static_cast<const sockaddr_in6*>(raw);
00111     std::memcpy(&dest[0], &in->sin6_addr, 16);
00112   } else {
00113 #else
00114   {
00115 #endif
00116     const sockaddr_in* in = static_cast<const sockaddr_in*>(raw);
00117     std::memset(&dest[0], 0, 12);
00118     std::memcpy(&dest[12], &in->sin_addr, 4);
00119   }
00120 }

Here is the call graph for this function:

Here is the caller graph for this function:

int OpenDDS::RTPS::address_to_kind ( const ACE_INET_Addr addr  )  [inline]

Definition at line 123 of file BaseMessageUtils.h.

References ACE_Addr::get_type(), LOCATOR_KIND_UDPv4, and LOCATOR_KIND_UDPv6.

Referenced by OpenDDS::RTPS::Spdp::init(), OpenDDS::DCPS::RtpsUdpInst::populate_locator(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::reset(), and OpenDDS::RTPS::Sedp::unicast_locators().

00124 {
00125 #ifdef ACE_HAS_IPV6
00126   return addr.get_type() == AF_INET6 ? LOCATOR_KIND_UDPv6 : LOCATOR_KIND_UDPv4;
00127 #else
00128   ACE_UNUSED_ARG(addr);
00129   return LOCATOR_KIND_UDPv4;
00130 #endif
00131 }

Here is the call graph for this function:

Here is the caller graph for this function:

void OpenDDS::RTPS::assign ( DCPS::EntityKey_t &  lhs,
unsigned int  rhs 
) [inline]

Definition at line 96 of file BaseMessageUtils.h.

00097 {
00098   lhs[0] = static_cast<CORBA::Octet>(rhs);
00099   lhs[1] = static_cast<CORBA::Octet>(rhs >> 8);
00100   lhs[2] = static_cast<CORBA::Octet>(rhs >> 16);
00101 }

void OpenDDS::RTPS::assign ( DCPS::OctetArray16 &  dest,
const ACE_CDR::ULong ipv4addr_be 
) [inline]

Definition at line 86 of file BaseMessageUtils.h.

00088 {
00089   std::memset(&dest[0], 0, 12);
00090   dest[12] = ipv4addr_be >> 24;
00091   dest[13] = ipv4addr_be >> 16;
00092   dest[14] = ipv4addr_be >> 8;
00093   dest[15] = ipv4addr_be;
00094 }

void OpenDDS::RTPS::assign ( DCPS::OctetArray16 &  dest,
const DCPS::OctetArray16 &  src 
) [inline]

Definition at line 80 of file BaseMessageUtils.h.

00082 {
00083   std::memcpy(&dest[0], &src[0], sizeof(DCPS::OctetArray16));
00084 }

void OpenDDS::RTPS::assign ( GuidPrefix_t &  dest,
const GuidPrefix_t &  src 
) [inline]

Definition at line 75 of file BaseMessageUtils.h.

00076 {
00077   std::memcpy(&dest[0], &src[0], sizeof(GuidPrefix_t));
00078 }

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 
)

Referenced by OpenDDS::DCPS::RtpsUdpTransport::get_connection_addr().

Here is the caller graph for this function:

void OpenDDS::RTPS::create_association_data_proto ( DCPS::AssociationData &  proto,
const Security::SPDPdiscoveredParticipantData &  pdata 
)

Definition at line 691 of file Sedp.cpp.

References OpenDDS::RTPS::ParticipantProxy_t::guidPrefix, message_block_to_sequence(), OpenDDS::RTPS::ParticipantProxy_t::metatrafficMulticastLocatorList, OpenDDS::RTPS::ParticipantProxy_t::metatrafficUnicastLocatorList, OpenDDS::Security::SPDPdiscoveredParticipantData::participantProxy, OpenDDS::DCPS::AssociationData::publication_transport_priority_, OpenDDS::DCPS::AssociationData::remote_data_, OpenDDS::DCPS::AssociationData::remote_durable_, OpenDDS::DCPS::AssociationData::remote_id_, and OpenDDS::DCPS::AssociationData::remote_reliable_.

Referenced by OpenDDS::RTPS::Sedp::associate(), and OpenDDS::RTPS::Sedp::Task::svc_i().

00692                                                                                   {
00693   proto.publication_transport_priority_ = 0;
00694   proto.remote_reliable_ = true;
00695   proto.remote_durable_ = true;
00696   std::memcpy(proto.remote_id_.guidPrefix, pdata.participantProxy.guidPrefix,
00697               sizeof(GuidPrefix_t));
00698 
00699   const DCPS::LocatorSeq& mll =
00700     pdata.participantProxy.metatrafficMulticastLocatorList;
00701   const DCPS::LocatorSeq& ull =
00702     pdata.participantProxy.metatrafficUnicastLocatorList;
00703   const CORBA::ULong locator_count = mll.length() + ull.length();
00704 
00705   ACE_Message_Block mb_locator(4 + locator_count * sizeof(DCPS::Locator_t) + 1);
00706   using DCPS::Serializer;
00707   Serializer ser_loc(&mb_locator, ACE_CDR_BYTE_ORDER, Serializer::ALIGN_CDR);
00708   ser_loc << locator_count;
00709 
00710   for (CORBA::ULong i = 0; i < mll.length(); ++i) {
00711     ser_loc << mll[i];
00712   }
00713   for (CORBA::ULong i = 0; i < ull.length(); ++i) {
00714     ser_loc << ull[i];
00715   }
00716   ser_loc << ACE_OutputCDR::from_boolean(false); // requires_inline_qos
00717 
00718   proto.remote_data_.length(1);
00719   proto.remote_data_[0].transport_type = "rtps_udp";
00720   message_block_to_sequence (mb_locator, proto.remote_data_[0].data);
00721 }

Here is the call graph for this function:

Here is the caller graph for this function:

static bool OpenDDS::RTPS::decode_parameter_list ( const DCPS::ReceivedDataSample &  sample,
DCPS::Serializer &  ser,
const ACE_CDR::Octet encap,
ParameterList &  data 
) [static]

Definition at line 2875 of file Sedp.cpp.

References OpenDDS::DCPS::ReceivedDataSample::header_, and PID_ENDPOINT_GUID.

Referenced by OpenDDS::RTPS::Sedp::Reader::data_received().

02879 {
02880   if (sample.header_.key_fields_only_ && encap < 2) {
02881     GUID_t guid;
02882     if (!(ser >> guid)) return false;
02883     data.length(1);
02884     data[0].guid(guid);
02885     data[0]._d(PID_ENDPOINT_GUID);
02886   } else {
02887     return ser >> data;
02888   }
02889   return true;
02890 }

Here is the caller graph for this function:

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

Definition at line 86 of file SecurityHelpers.h.

00087 {
00088   DDS::OctetSeq handleOctets(sizeof handle);
00089   handleOctets.length(handleOctets.maximum());
00090   unsigned char* rawHandleOctets = handleOctets.get_buffer();
00091   unsigned int handleTmp = handle;
00092   for (unsigned int j = sizeof handle; j > 0; --j) {
00093     rawHandleOctets[j - 1] = handleTmp & 0xff;
00094     handleTmp >>= 8;
00095   }
00096   return handleOctets;
00097 }

OpenDDS_Rtps_Export int OpenDDS::RTPS::locator_to_address ( ACE_INET_Addr dest,
const DCPS::Locator_t &  locator,
bool  map 
)

Referenced by OpenDDS::DCPS::RtpsUdpTransport::get_connection_addr().

Here is the caller graph for this function:

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

Referenced by OpenDDS::DCPS::RtpsUdpInst::populate_locator().

Here is the caller graph for this function:

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

Definition at line 35 of file BaseMessageUtils.h.

References OpenDDS::DCPS::gen_find_size(), OpenDDS::DCPS::gen_max_marshaled_size(), ACE_Message_Block::length(), MD5_Final(), MD5_Init(), MD5_Update(), ACE_Message_Block::rd_ptr(), size, and OpenDDS::RTPS::KeyHash_t::value.

00035                                                      {
00036   using DCPS::Serializer;
00037 
00038   DCPS::KeyOnly<const T> ko(msg);
00039 
00040   static const size_t HASH_LIMIT = 16;
00041   std::memset(hash.value, 0, HASH_LIMIT);
00042 
00043   // Key Hash must use big endian ordering.
00044   // Native==Little endian means we need to swap
00045 #if defined ACE_LITTLE_ENDIAN
00046   static const bool swap_bytes = true;
00047 #else
00048   static const bool swap_bytes = false;
00049 #endif
00050 
00051   if (DCPS::MarshalTraits<T>::gen_is_bounded_key_size() &&
00052       gen_max_marshaled_size(ko, true /*align*/) <= HASH_LIMIT) {
00053     // If it is bounded and can always fit in 16 bytes, we will use the
00054     // marshaled key
00055     ACE_Message_Block mb(HASH_LIMIT);
00056     Serializer out_serializer(&mb, swap_bytes, Serializer::ALIGN_INITIALIZE);
00057     out_serializer << ko;
00058     std::memcpy(hash.value, mb.rd_ptr(), mb.length());
00059 
00060   } else {
00061     // We will use the hash of the marshaled key
00062     size_t size = 0, padding = 0;
00063     gen_find_size(ko, size, padding);
00064     ACE_Message_Block mb(size + padding);
00065     Serializer out_serializer(&mb, swap_bytes, Serializer::ALIGN_INITIALIZE);
00066     out_serializer << ko;
00067 
00068     MD5_CTX ctx;
00069     MD5_Init(&ctx);
00070     MD5_Update(&ctx, mb.rd_ptr(), static_cast<unsigned long>(mb.length()));
00071     MD5_Final(hash.value, &ctx);
00072   }
00073 }

Here is the call graph for this function:

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

Definition at line 149 of file BaseMessageUtils.h.

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

Referenced by create_association_data_proto().

00150 {
00151   out.length (CORBA::ULong(mb_locator.length()));
00152   std::memcpy (out.get_buffer(), mb_locator.rd_ptr(), mb_locator.length());
00153 }

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 45 of file RtpsSampleHeader.cpp.

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

00046 {
00047   return
00048     (lhs.value[3] == rhs.value[3]) &&
00049     (lhs.value[2] == rhs.value[2]) &&
00050     (lhs.value[1] == rhs.value[1]) &&
00051     (lhs.value[0] == rhs.value[0]);
00052 }

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

Definition at line 55 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::EndpointSecurityAttributes::is_key_protected, DDS::Security::EndpointSecurityAttributes::is_payload_protected, and DDS::Security::EndpointSecurityAttributes::is_submessage_protected.

00056 {
00057   using namespace DDS::Security;
00058 
00059   EndpointSecurityAttributesMask result = ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_VALID;
00060 
00061   if (sec_attr.base.is_read_protected)
00062     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_READ_PROTECTED;
00063 
00064   if (sec_attr.base.is_write_protected)
00065     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED;
00066 
00067   if (sec_attr.base.is_discovery_protected)
00068     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED;
00069 
00070   if (sec_attr.base.is_liveliness_protected)
00071     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED;
00072 
00073   if (sec_attr.is_submessage_protected)
00074     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED;
00075 
00076   if (sec_attr.is_payload_protected)
00077     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED;
00078 
00079   if (sec_attr.is_key_protected)
00080     result |= ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_KEY_PROTECTED;
00081 
00082   return result;
00083 }

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

Variable Documentation

const short OpenDDS::RTPS::BEST_EFFORT = 1

Definition at line 131 of file RtpsCore.idl.

const char OpenDDS::RTPS::BLOB_PROP_DR_CRYPTO_HANDLE[] = "DatareaderCryptoHandle"

Definition at line 65 of file BaseMessageTypes.h.

const char OpenDDS::RTPS::BLOB_PROP_DW_CRYPTO_HANDLE[] = "DatawriterCryptoHandle"

Definition at line 64 of file BaseMessageTypes.h.

const char OpenDDS::RTPS::BLOB_PROP_PART_CRYPTO_HANDLE[] = "ParticipantCryptoHandle"

Definition at line 63 of file BaseMessageTypes.h.

Definition at line 20 of file MessageTypes.h.

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

Initial value:
      1 << 0

Definition at line 157 of file RtpsCore.idl.

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

Initial value:
      1 << 1

Definition at line 159 of file RtpsCore.idl.

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

Initial value:
      1 << 6

Definition at line 169 of file RtpsCore.idl.

Initial value:
      1 << 7

Definition at line 171 of file RtpsCore.idl.

Initial value:
      1 << 8

Definition at line 173 of file RtpsCore.idl.

Initial value:
      1 << 9

Definition at line 175 of file RtpsCore.idl.

Definition at line 34 of file SecurityHelpers.h.

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

Definition at line 25 of file SecurityHelpers.h.

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

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

Definition at line 27 of file SecurityHelpers.h.

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

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

Definition at line 29 of file SecurityHelpers.h.

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

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

Definition at line 21 of file SecurityHelpers.h.

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

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

Definition at line 23 of file SecurityHelpers.h.

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

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

Definition at line 31 of file SecurityHelpers.h.

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

const EntityId_t OpenDDS::RTPS::ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER = {{0xff, 0x01, 0x01}, 0xc2}
const octet OpenDDS::RTPS::FLAG_D = 4
const octet OpenDDS::RTPS::FLAG_E = 1
const octet OpenDDS::RTPS::FLAG_F = 2
const octet OpenDDS::RTPS::FLAG_I = 2

Definition at line 436 of file RtpsCore.idl.

const octet OpenDDS::RTPS::FLAG_L = 4
const octet OpenDDS::RTPS::FLAG_M = 2

Definition at line 437 of file RtpsCore.idl.

const octet OpenDDS::RTPS::FLAG_Q = 2

Definition at line 26 of file MessageTypes.h.

Definition at line 171 of file RtpsDiscovery.h.

Definition at line 98 of file RtpsCore.idl.

Definition at line 99 of file RtpsCore.idl.

Definition at line 101 of file RtpsCore.idl.

Referenced by address_to_kind().

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

Definition at line 53 of file BaseMessageTypes.h.

const double OpenDDS::RTPS::NANOS_TO_RTPS_FRACS = 4.294967296
const short OpenDDS::RTPS::NO_KEY = 1

Definition at line 121 of file RtpsCore.idl.

Initial value:
        { 0x00, 0x00, 0x00, 0x01 }

Definition at line 31 of file MessageTypes.h.

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

Initial value:
        { 0x00, 0x00, 0x00, 0x02 }

Definition at line 33 of file MessageTypes.h.

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

Initial value:
        { 0x00, 0x00, 0x00, 0x00 }

Definition at line 29 of file MessageTypes.h.

Definition at line 33 of file SecurityHelpers.h.

Definition at line 245 of file RtpsCore.idl.

Definition at line 255 of file RtpsCore.idl.

Definition at line 254 of file RtpsCore.idl.

Definition at line 240 of file RtpsCore.idl.

Definition at line 207 of file RtpsCore.idl.

Definition at line 227 of file RtpsCore.idl.

Definition at line 230 of file RtpsCore.idl.

Definition at line 226 of file RtpsCore.idl.

Definition at line 231 of file RtpsCore.idl.

Definition at line 212 of file RtpsCore.idl.

Definition at line 205 of file RtpsCore.idl.

Definition at line 206 of file RtpsCore.idl.

Definition at line 252 of file RtpsCore.idl.

Referenced by decode_parameter_list().

Definition at line 248 of file RtpsCore.idl.

Definition at line 236 of file RtpsCore.idl.

Definition at line 203 of file RtpsCore.idl.

Definition at line 244 of file RtpsCore.idl.

Definition at line 243 of file RtpsCore.idl.

Definition at line 213 of file RtpsCore.idl.

Definition at line 208 of file RtpsCore.idl.

Definition at line 211 of file RtpsCore.idl.

Definition at line 209 of file RtpsCore.idl.

Definition at line 234 of file RtpsCore.idl.

Definition at line 229 of file RtpsCore.idl.

Definition at line 235 of file RtpsCore.idl.

Definition at line 232 of file RtpsCore.idl.

Definition at line 228 of file RtpsCore.idl.

Definition at line 233 of file RtpsCore.idl.

Definition at line 225 of file RtpsCore.idl.

Definition at line 224 of file RtpsCore.idl.

Definition at line 271 of file RtpsCore.idl.

Definition at line 269 of file RtpsCore.idl.

Definition at line 270 of file RtpsCore.idl.

Definition at line 258 of file RtpsCore.idl.

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

Definition at line 215 of file RtpsCore.idl.

Definition at line 216 of file RtpsCore.idl.

Definition at line 198 of file RtpsCore.idl.

Definition at line 238 of file RtpsCore.idl.

Definition at line 242 of file RtpsCore.idl.

Definition at line 239 of file RtpsCore.idl.

Definition at line 237 of file RtpsCore.idl.

Definition at line 218 of file RtpsCore.idl.

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

Definition at line 217 of file RtpsCore.idl.

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

Definition at line 246 of file RtpsCore.idl.

Definition at line 221 of file RtpsCore.idl.

Definition at line 210 of file RtpsCore.idl.

Definition at line 214 of file RtpsCore.idl.

Definition at line 199 of file RtpsCore.idl.

Definition at line 250 of file RtpsCore.idl.

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

Definition at line 219 of file RtpsCore.idl.

Definition at line 204 of file RtpsCore.idl.

Definition at line 220 of file RtpsCore.idl.

Definition at line 247 of file RtpsCore.idl.

Definition at line 202 of file RtpsCore.idl.

Definition at line 223 of file RtpsCore.idl.

Definition at line 200 of file RtpsCore.idl.

Definition at line 222 of file RtpsCore.idl.

Definition at line 262 of file RtpsCore.idl.

Definition at line 261 of file RtpsCore.idl.

Definition at line 55 of file BaseMessageTypes.h.

Definition at line 56 of file BaseMessageTypes.h.

Definition at line 57 of file BaseMessageTypes.h.

Definition at line 58 of file BaseMessageTypes.h.

Definition at line 59 of file BaseMessageTypes.h.

Definition at line 60 of file BaseMessageTypes.h.

const short OpenDDS::RTPS::RELIABLE = 3

Definition at line 132 of file RtpsCore.idl.

const Time_t OpenDDS::RTPS::TIME_INFINITE = { 0x7fffffff, 0xffffffff }

Definition at line 21 of file BaseMessageTypes.h.

const Time_t OpenDDS::RTPS::TIME_INVALID = { -1, 0xffffffff }
const Time_t OpenDDS::RTPS::TIME_ZERO = { 0, 0 }

Definition at line 19 of file BaseMessageTypes.h.

Definition at line 26 of file BaseMessageTypes.h.

const short OpenDDS::RTPS::WITH_KEY = 2

Definition at line 122 of file RtpsCore.idl.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1