RTI Connext Modern C++ API Version 7.7.0

XTypes compliance mask. More...

#include <Compliance.hpp>

Inherits std::bitset< 32 >.

Public Types

typedef std::bitset< 32 > MaskType
 A typedef of std::bitset<32> for convenience. More...
 

Public Member Functions

 RpcMask ()
 Default RPC compliance mask. More...
 
 RpcMask (uint64_t mask)
 Construct a RpcMask from an integer. More...
 
 RpcMask (const MaskType &mask)
 Construct a RpcMask from a MaskType object. More...
 

Static Public Member Functions

static const RpcMask use_standard_related_sample_pid ()
 This bit configures a standard value for PID_RELATED_SAMPLE_IDENTITY. More...
 
static const RpcMask vendor ()
 This mask configures compliance with the OMG DDS-RPC specification. More...
 
static const RpcMask default_mask ()
 Default RPC compliance mask. More...
 

Detailed Description

XTypes compliance mask.

The rti::config::compliance::XTypesMask configures different aspects of the Extended CDR encoding (XCDR and XCDR2).

Applications that don't use the exact same XTypes compliance mask may not be interoperable.

By default, data serialization is not fully compliant with Extended CDR encoding. While this doesn't affect correctness, it may prevent interoperability with other vendors.

You can change the default compliance mask for an application using any of the following mechanisms:

The environment variable will be automatically loaded when a DomainParticipantFactory is created. If you need to load it before that, use the function rti::config::compliance::load_compliance_masks().

The format of the environment variable is an unsigned integer, which can be in HEX notation. For example: 0x00000001.

The default value is rti::config::compliance::XTypesMask::default_mask().

To be fully compliant with the XTypes specification, set the mask to rti::config::compliance::XTypesMask::vendor().

[default] rti::config::compliance::XTypesMask::default_mask()

When changing the mask for an application is not desired, the property dds.xtypes.compliance_mask will change the mask at the DomainParticipant or DataWriter level. When set in the DomainParticipant, it configures the mask for all DataWriters in the participant. See Extensible Types Compliance Mask in the RTI Connext Core Libraries Extensible Types Guide.

Member Typedef Documentation

◆ MaskType

A typedef of std::bitset<32> for convenience.

Constructor & Destructor Documentation

◆ RpcMask() [1/3]

rti::config::compliance::RpcMask::RpcMask ( )
inline

Default RPC compliance mask.

The mask does not sets any bits.

The HEX value for the mask is: 0x00000000.

◆ RpcMask() [2/3]

rti::config::compliance::RpcMask::RpcMask ( uint64_t  mask)
inlineexplicit

Construct a RpcMask from an integer.

Parameters
maskValue whose bits are copied to the bitset positions

◆ RpcMask() [3/3]

rti::config::compliance::RpcMask::RpcMask ( const MaskType &  mask)
inline

Construct a RpcMask from a MaskType object.

Parameters
maskA std::bitset<32> to construct this RpcMask from

Member Function Documentation

◆ use_standard_related_sample_pid()

static const RpcMask rti::config::compliance::RpcMask::use_standard_related_sample_pid ( )
inlinestatic

This bit configures a standard value for PID_RELATED_SAMPLE_IDENTITY.

Value: 0x00000001

Set this bit to be compliant with the OMG DDS-RPC specification. The PID_RELATED_SAMPLE_IDENTITY will be 0x0083 as is defined as is defined in the RPC over DDS OMG specification. See https://www.omg.org/spec/DDS-RPC

Using rti::config::compliance::RpcMask::use_standard_related_sample_pid() will affect both RPC and Request-Reply communtications. The PID_RELATED_SAMPLE_IDENTITY is a parameter identifier (PID) used by the RTPS wire protocol and required for Request-Reply and RPC communications. By default, this PID takes a non-standard value that is compatible with previous versions of Connext.

This bit is unset by default. See rti::config::compliance::RpcMask::default_mask()

◆ vendor()

static const RpcMask rti::config::compliance::RpcMask::vendor ( )
inlinestatic

This mask configures compliance with the OMG DDS-RPC specification.

The mask sets the following bits:

The HEX value for the mask is: 0x00000001.

◆ default_mask()

static const RpcMask rti::config::compliance::RpcMask::default_mask ( )
inlinestatic

Default RPC compliance mask.

The mask does not sets any bits.

The HEX value for the mask is: 0x00000000.