RTI Connext .Net APIs  Version 6.0.0

Defines the rules for determining whether the type used to publish a given topic is consistent with that used to subscribe to it. More...

Classes

struct  DDS::TypeConsistencyEnforcementQosPolicy
 Defines the rules for determining whether the type used to publish a given topic is consistent with that used to subscribe to it. More...
 

Enumerations

enum  DDS::TypeConsistencyKind : UINT32 {
  DDS::TypeConsistencyKind::DISALLOW_TYPE_COERCION,
  DDS::TypeConsistencyKind::ALLOW_TYPE_COERCION,
  DDS::TypeConsistencyKind::AUTO_TYPE_COERCION
}
 Kinds of type consistency. More...
 

Functions

static System::String ^ DDS::TypeConsistencyEnforcementQosPolicy::get_type_consistency_enforcement_qos_policy_name ()
 Stringified human-readable name for DDS::TypeConsistencyEnforcementQosPolicy. More...
 

Detailed Description

Defines the rules for determining whether the type used to publish a given topic is consistent with that used to subscribe to it.

Enumeration Type Documentation

◆ TypeConsistencyKind

enum DDS::TypeConsistencyKind : UINT32
strong

Kinds of type consistency.

QoS:
DDS::TypeConsistencyEnforcementQosPolicy
Enumerator
DISALLOW_TYPE_COERCION 

The DataWriter and the DataReader must support the same data type in order for them to communicate.

This is the degree of type consistency enforcement required by the OMG DDS Specification prior to the OMG Extensible and Dynamic Topic Types for DDS Specification.

ALLOW_TYPE_COERCION 

The DataWriter and the DataReader need not support the same data type in order for them to communicate as long as the DataReader's type is assignable from the DataWriter's type.

For example, the following two extensible types will be assignable to each other since MyDerivedType contains all the members of MyBaseType (member_1) plus some additional elements (member_2).

struct MyBaseType {
long member_1;
};
struct MyDerivedType: MyBaseType {
long member_2;
};

Even if MyDerivedType was not explicitly inheriting from MyBaseType the types would still be assignable. For example:

struct MyBaseType {
long member_1;
};
struct MyDerivedType {
long member_1;
long member_2;
};

For additional information on type assignability refer to the OMG Extensible and Dynamic Topic Types for DDS Specification.

AUTO_TYPE_COERCION 

This AUTO value will be applied as DDS::TypeConsistencyKind::DISALLOW_TYPE_COERCION when the data type is annotated with @transfer_mode(SHMEM_REF) while using C, Traditional C++, or Modern C++ APIs. In all other cases, this AUTO value will be applied as DDS::TypeConsistencyKind::ALLOW_TYPE_COERCION.

[default]

Function Documentation

◆ get_type_consistency_enforcement_qos_policy_name()

static System::String ^ DDS::TypeConsistencyEnforcementQosPolicy::get_type_consistency_enforcement_qos_policy_name ( )
inlinestatic

Stringified human-readable name for DDS::TypeConsistencyEnforcementQosPolicy.


RTI Connext .Net APIs Version 6.0.0 Copyright © Sun Mar 3 2019 Real-Time Innovations, Inc