RTI Connext .NET API (legacy)  Version 6.1.2

DDS::DataReader entity and associated elements More...

Modules

 Read Conditions
 DDS::ReadCondition and associated elements
 
 Query Conditions
 DDS::QueryCondition and associated elements
 
 Topic Queries
 DDS::TopicQuery and associated elements.
 

Classes

struct  DDS::RequestedDeadlineMissedStatus
 REQUESTED_DEADLINE_MISSED_STATUS. More...
 
struct  DDS::LivelinessChangedStatus
 LIVELINESS_CHANGED_STATUS. More...
 
class  DDS::RequestedIncompatibleQosStatus
 REQUESTED_INCOMPATIBLE_QOS_STATUS. More...
 
struct  DDS::SampleLostStatus
 SAMPLE_LOST_STATUS. More...
 
struct  DDS::SampleRejectedStatus
 SAMPLE_REJECTED_STATUS. More...
 
struct  DDS::SubscriptionMatchedStatus
 SUBSCRIPTION_MATCHED_STATUS. More...
 
struct  DDS::DataReaderCacheStatus
 <<extension>> The status of the reader's cache. More...
 
struct  DDS::DataReaderProtocolStatus
 <<extension>> The status of a reader's internal protocol related metrics, like the number of samples received, filtered, rejected; and status of wire protocol traffic. More...
 
class  DDS::DataReaderQos
 QoS policies supported by a DDS::DataReader entity. More...
 
class  DDS::DataReaderSeq
 Declares IDL sequence < DDS::DataReader > . More...
 
class  DDS::DataReaderListener
 <<interface>> DDS::Listener for reader status. More...
 
class  DDS::DataReader
 <<interface>> Allows the application to: (1) declare the data it wishes to receive (i.e. make a subscription) and (2) access the data received by the attached DDS::Subscriber. More...
 
class  DDS::TypedDataReader< T >
 <<interface>> <<generic>> User data type-specific data reader. More...
 
class  DDS::Ext::LoanedSample< T >
 Contains a sample's data and info. More...
 
class  DDS::Ext::LoanedSamples< T >
 A collection of data samples and sample info. More...
 
class  DDS::Selector< T >
 Configures a selection to access data-samples from a DataReader. More...
 
class  FooDataReader
 <<interface>> <<generic>> User data type-specific data reader. More...
 

Enumerations

enum  DDS::SampleLostStatusKind : UINT32 {
  DDS::SampleLostStatusKind::NOT_LOST = 0,
  DDS::SampleLostStatusKind::LOST_BY_WRITER = 1,
  DDS::SampleLostStatusKind::LOST_BY_INSTANCES_LIMIT = 2,
  DDS::SampleLostStatusKind::LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT = 3,
  DDS::SampleLostStatusKind::LOST_BY_INCOMPLETE_COHERENT_SET = 4,
  DDS::SampleLostStatusKind::LOST_BY_LARGE_COHERENT_SET = 5,
  DDS::SampleLostStatusKind::LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT = 6,
  DDS::SampleLostStatusKind::LOST_BY_VIRTUAL_WRITERS_LIMIT = 7,
  DDS::SampleLostStatusKind::LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT = 8,
  DDS::SampleLostStatusKind::LOST_BY_AVAILABILITY_WAITING_TIME = 9,
  DDS::SampleLostStatusKind::LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT = 10,
  DDS::SampleLostStatusKind::LOST_BY_OUT_OF_MEMORY = 11,
  DDS::SampleLostStatusKind::LOST_BY_UNKNOWN_INSTANCE = 12,
  DDS::SampleLostStatusKind::LOST_BY_DESERIALIZATION_FAILURE = 13,
  DDS::SampleLostStatusKind::LOST_BY_DECODE_FAILURE = 14,
  DDS::SampleLostStatusKind::LOST_BY_SAMPLES_PER_INSTANCE_LIMIT = 15,
  DDS::SampleLostStatusKind::LOST_BY_SAMPLES_LIMIT = 16
}
 <<extension>> Kinds of reasons why a sample was lost. More...
 
enum  DDS::SampleRejectedStatusKind : UINT32 {
  DDS::SampleRejectedStatusKind::NOT_REJECTED = 0,
  DDS::SampleRejectedStatusKind::REJECTED_BY_INSTANCES_LIMIT = 1,
  DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_LIMIT = 2,
  DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT = 3,
  DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT = 6,
  DDS::SampleRejectedStatusKind::REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT = 9,
  DDS::SampleRejectedStatusKind::REJECTED_BY_DECODE_FAILURE = 10
}
 Kinds of reasons for rejecting a sample. More...
 

Functions

bool DDS::DataReaderQos::equals (DataReaderQos^ other)
 Compares two DDS::DataReaderQos for equality. More...
 

Detailed Description

DDS::DataReader entity and associated elements

Enumeration Type Documentation

◆ SampleLostStatusKind

enum DDS::SampleLostStatusKind : UINT32
strong

<<extension>> Kinds of reasons why a sample was lost.

MONITOR-273 We assign an integer to the names in order to be compatible with the DDSMonitoring types.

Enumerator
NOT_LOST 

The sample was not lost.

This constant is an extension to the DDS standard.

LOST_BY_WRITER 

A DDS::DataWriter removed the sample before being received by the DDS::DataReader.

This constant is an extension to the DDS standard.

LOST_BY_INSTANCES_LIMIT 

A resource limit on the number of instances (DDS::ResourceLimitsQosPolicy::max_instances) was reached.

This constant is an extension to the DDS standard.

See also
DDS::ResourceLimitsQosPolicy
LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT 

A resource limit on the number of remote writers for a single instance from which a DDS::DataReader may read (DDS::DataReaderResourceLimitsQosPolicy::max_remote_writers_per_instance) was reached.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_INCOMPLETE_COHERENT_SET 

A sample is lost because it is part of an incomplete coherent set. An incomplete coherent set is a coherent set for which some of the samples are missing.

For example, consider a DDS::DataWriter using KEEP_LAST_HISTORY_QOS with a depth of 1. The DataWriter publishes two samples of the same instance as part of a coherent set 'CS1'; the first sample of 'CS1' is replaced by a new sample before it can be successfully delivered to the DDS::DataReader. In this case, the coherent set containing the two samples is considered incomplete. The new sample, by default, will not be provided to the application, and will be reported as LOST_BY_INCOMPLETE_COHERENT_SET. (You can change this default behavior by setting DDS::PresentationQosPolicy::drop_incomplete_coherent_set to FALSE. If you do, the new sample will be provided to the application, but it will be marked as part of an incomplete coherent set in the DDS::SampleInfo structure.)

This constant is an extension to the DDS standard.

LOST_BY_LARGE_COHERENT_SET 

A sample is lost because it is part of a large coherent set. A large coherent set is a coherent set that cannot fit all at once into the DDS::DataReader queue because resource limits are exceeded.

For example, if DDS::ResourceLimitsQosPolicy::max_samples_per_instance on the DataReader is 10 and the coherent set has 15 samples for a given instance, the coherent set is a large coherent set that will be considered incomplete.

The resource limits that can lead to large coherent sets are: DDS::ResourceLimitsQosPolicy::max_samples, DDS::ResourceLimitsQosPolicy::max_samples_per_instance, DDS::ResourceLimitsQosPolicy::max_instances, and DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer.

This constant is an extension to the DDS standard.

LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT 

When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS: a resource limit on the number of samples from a given remote writer that a DDS::DataReader may store (DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer) was reached. When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS, reaching DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer will trigger a rejection, not a loss, with reason DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_VIRTUAL_WRITERS_LIMIT 

A resource limit on the number of virtual writers from which a DDS::DataReader may read (DDS::DataReaderResourceLimitsQosPolicy::max_remote_virtual_writers) was reached.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT 

A resource limit on the number of remote writers per sample (DDS::DataReaderResourceLimitsQosPolicy::max_remote_writers_per_sample) was reached.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_AVAILABILITY_WAITING_TIME 

DDS::AvailabilityQosPolicy::max_data_availability_waiting_time expired.

This constant is an extension to the DDS standard.

See also
DDS::AvailabilityQosPolicy
LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT 

A resource limit on the number of samples published by a remote writer on behalf of a virtual writer that a DDS::DataReader may store was reached. (This field is currently not used.)

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_OUT_OF_MEMORY 

A sample was lost because there was not enough memory to store the sample.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
LOST_BY_UNKNOWN_INSTANCE 

A received sample was lost because it doesn't contain enough information for the reader to know what instance it is associated with.

This constant is an extension to the DDS standard.

LOST_BY_DESERIALIZATION_FAILURE 

A received sample was lost because it could not be deserialized.

This constant is an extension to the DDS standard.

LOST_BY_DECODE_FAILURE 

When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS: A received sample was lost because it could not be decoded. When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS, the sample will be rejected, not lost, with reason DDS::SampleRejectedStatusKind::REJECTED_BY_DECODE_FAILURE.

This constant is an extension to the DDS standard.

LOST_BY_SAMPLES_PER_INSTANCE_LIMIT 

When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS: A resource limit on the number of samples per instance (DDS::ResourceLimitsQosPolicy::max_samples_per_instance) was reached. When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS, reaching DDS::ResourceLimitsQosPolicy::max_samples_per_instance will trigger a rejection, not a loss, with reason DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT.

This constant is an extension to the DDS standard.

See also
DDS::ResourceLimitsQosPolicy
LOST_BY_SAMPLES_LIMIT 

When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS: A resource limit on the number of samples (DDS::ResourceLimitsQosPolicy::max_samples) was reached. When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS, reaching DDS::ResourceLimitsQosPolicy::max_samples will trigger a rejection, not a loss, with reason DDS::SampleRejectedStatusKind::REJECTED_BY_SAMPLES_LIMIT.

This constant is an extension to the DDS standard.

See also
DDS::ResourceLimitsQosPolicy

◆ SampleRejectedStatusKind

enum DDS::SampleRejectedStatusKind : UINT32
strong

Kinds of reasons for rejecting a sample.

MONITOR-273 We assign an integer to the names in order to be compatible with the DDSMonitoring types.

Enumerator
NOT_REJECTED 

The sample was not rejected.

REJECTED_BY_INSTANCES_LIMIT 

Connext DDS does not reject samples based on instance limits (DDS::ResourceLimitsQosPolicy::max_instances), so this value will never be used.

See also
DDS::SampleLostStatusKind::LOST_BY_INSTANCES_LIMIT
REJECTED_BY_SAMPLES_LIMIT 

When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS: A resource limit on the number of samples (DDS::ResourceLimitsQosPolicy::max_samples) was reached. When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS, reaching DDS::ResourceLimitsQosPolicy::max_samples will trigger a loss, not a rejection, with reason DDS::SampleLostStatusKind::LOST_BY_SAMPLES_LIMIT.

See also
DDS::ResourceLimitsQosPolicy
REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT 

When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS: A resource limit on the number of samples per instance (DDS::ResourceLimitsQosPolicy::max_samples_per_instance) was reached. When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS, reaching DDS::ResourceLimitsQosPolicy::max_samples_per_instance will trigger a loss, not a rejection, with reason DDS::SampleLostStatusKind::LOST_BY_SAMPLES_PER_INSTANCE_LIMIT.

See also
ResourceLimitsQosPolicy
REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT 

When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS: a resource limit on the number of samples from a given remote writer that a DDS::DataReader may store (DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer) was reached. When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS, reaching DDS::DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer will trigger a loss, not a rejection, with reason DDS::SampleLostStatusKind::LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT.

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT 

A resource limit on the number of samples published by a remote writer on behalf of a virtual writer that a DDS::DataReader may store was reached. (This field is currently not used.)

This constant is an extension to the DDS standard.

See also
DDS::DataReaderResourceLimitsQosPolicy
REJECTED_BY_DECODE_FAILURE 

When using DDS::ReliabilityQosPolicyKind::RELIABLE_RELIABILITY_QOS: A received sample was rejected because it could not be decoded. When using DDS::ReliabilityQosPolicyKind::BEST_EFFORT_RELIABILITY_QOS, the sample will be lost, not rejected, with reason DDS::SampleLostStatusKind::LOST_BY_DECODE_FAILURE.

If a sample was rejected for this reason and the DDS::DataWriter set DDS::DataWriterProtocolQosPolicy::disable_inline_keyhash to true, then DDS::SampleRejectedStatus::last_instance_handle may not be correct if the sample was encrypted.

This constant is an extension to the DDS standard.

Function Documentation

◆ equals()

bool DDS::DataReaderQos::equals ( DataReaderQos other)

Compares two DDS::DataReaderQos for equality.

Parameters
other<<in>> The other DataReaderQos to be compared with this DataReaderQos.
Returns
true if the two Qos objects are equal or false otherwise.