RTI Connext Modern C++ API  Version 7.0.0
rti::core::status::SampleLostState Class Reference

<<extension>> Reasons why a sample was lost More...

#include <Status.hpp>

Inherits bitset< OMG_DDS_STATE_BIT_COUNT >.

Public Member Functions

 SampleLostState ()
 Creates not_lost() More...
 
 SampleLostState (const MaskType &src)
 Create from a bitset. More...
 

Static Public Member Functions

static const SampleLostState not_lost ()
 The sample was not lost. More...
 
static const SampleLostState lost_by_writer ()
 A dds::pub::DataWriter removed the sample before being received by the dds::sub::DataReader. More...
 
static const SampleLostState lost_by_instances_limit ()
 A resource limit on the number of instances (dds::core::policy::ResourceLimits::max_instances) was reached. More...
 
static const SampleLostState lost_by_remote_writers_per_instance_limit ()
 A resource limit on the number of remote writers for a single instance from which a dds::sub::DataReader may read (rti::core::policy::DataReaderResourceLimits::max_remote_writers_per_instance) was reached. More...
 
static const SampleLostState 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. More...
 
static const SampleLostState 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::sub::DataReader queue because resource limits are exceeded. More...
 
static const SampleLostState lost_by_samples_per_remote_writer_limit ()
 When using dds::core::policy::ReliabilityKind_def::BEST_EFFORT: a resource limit on the number of samples from a given remote writer that a dds::sub::DataReader may store (rti::core::policy::DataReaderResourceLimits::max_samples_per_remote_writer) was reached. When using dds::core::policy::ReliabilityKind_def::RELIABLE, reaching rti::core::policy::DataReaderResourceLimits::max_samples_per_remote_writer will trigger a rejection, not a loss, with reason dds::core::status::SampleRejectedState::rejected_by_samples_per_remote_writer_limit(). More...
 
static const SampleLostState lost_by_virtual_writers_limit ()
 A resource limit on the number of virtual writers from which a dds::sub::DataReader may read (rti::core::policy::DataReaderResourceLimits::max_remote_virtual_writers) was reached. More...
 
static const SampleLostState lost_by_remote_writers_per_sample_limit ()
 A resource limit on the number of remote writers per sample (rti::core::policy::DataReaderResourceLimits::max_remote_writers_per_sample) was reached. More...
 
static const SampleLostState lost_by_availability_waiting_time ()
 rti::core::policy::Availability::max_data_availability_waiting_time expired. More...
 
static const SampleLostState lost_by_remote_writers_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::sub::DataReader may store was reached. (This field is currently not used.) More...
 
static const SampleLostState lost_by_out_of_memory ()
 A sample was lost because there was not enough memory to store the sample. More...
 
static const SampleLostState 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. More...
 
static const SampleLostState lost_by_deserialization_failure ()
 A received sample was lost because it could not be deserialized. More...
 
static const SampleLostState lost_by_decode_failure ()
 When using dds::core::policy::ReliabilityKind_def::BEST_EFFORT: A received sample was lost because it could not be decoded. When using dds::core::policy::ReliabilityKind_def::RELIABLE, the sample will be rejected, not lost, with reason dds::core::status::SampleRejectedState::rejected_by_decode_failure(). More...
 
static const SampleLostState lost_by_samples_per_instance_limit ()
 When using dds::core::policy::ReliabilityKind_def::BEST_EFFORT: A resource limit on the number of samples per instance (dds::core::policy::ResourceLimits::max_samples_per_instance) was reached. When using dds::core::policy::ReliabilityKind_def::RELIABLE, reaching dds::core::policy::ResourceLimits::max_samples_per_instance will trigger a rejection, not a loss, with reason dds::core::status::SampleRejectedState::rejected_by_samples_per_instance_limit(). More...
 
static const SampleLostState lost_by_samples_limit ()
 When using dds::core::policy::ReliabilityKind_def::BEST_EFFORT: A resource limit on the number of samples (dds::core::policy::ResourceLimits::max_samples) was reached. When using dds::core::policy::ReliabilityKind_def::RELIABLE, reaching dds::core::policy::ResourceLimits::max_samples will trigger a rejection, not a loss, with reason dds::core::status::SampleRejectedState::rejected_by_samples_limit(). More...
 

Detailed Description

Constructor & Destructor Documentation

◆ SampleLostState() [1/2]

rti::core::status::SampleLostState::SampleLostState ( )
inline

Creates not_lost()

◆ SampleLostState() [2/2]

rti::core::status::SampleLostState::SampleLostState ( const MaskType &  src)
inline

Create from a bitset.

Member Function Documentation

◆ not_lost()

static const SampleLostState rti::core::status::SampleLostState::not_lost ( )
inlinestatic

The sample was not lost.

◆ lost_by_writer()

static const SampleLostState rti::core::status::SampleLostState::lost_by_writer ( )
inlinestatic

A dds::pub::DataWriter removed the sample before being received by the dds::sub::DataReader.

◆ lost_by_instances_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_instances_limit ( )
inlinestatic

A resource limit on the number of instances (dds::core::policy::ResourceLimits::max_instances) was reached.

See also
dds::core::policy::ResourceLimits

◆ lost_by_remote_writers_per_instance_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_remote_writers_per_instance_limit ( )
inlinestatic

A resource limit on the number of remote writers for a single instance from which a dds::sub::DataReader may read (rti::core::policy::DataReaderResourceLimits::max_remote_writers_per_instance) was reached.

See also
rti::core::policy::DataReaderResourceLimits

◆ lost_by_incomplete_coherent_set()

static const SampleLostState rti::core::status::SampleLostState::lost_by_incomplete_coherent_set ( )
inlinestatic

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::pub::DataWriter using dds::core::policy::HistoryKind::KEEP_LAST 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::sub::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::core::policy::Presentation::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::sub::SampleInfo structure.)

◆ lost_by_large_coherent_set()

static const SampleLostState rti::core::status::SampleLostState::lost_by_large_coherent_set ( )
inlinestatic

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::sub::DataReader queue because resource limits are exceeded.

For example, if dds::core::policy::ResourceLimits::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::core::policy::ResourceLimits::max_samples, dds::core::policy::ResourceLimits::max_samples_per_instance, dds::core::policy::ResourceLimits::max_instances, and rti::core::policy::DataReaderResourceLimits::max_samples_per_remote_writer.

◆ lost_by_samples_per_remote_writer_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_samples_per_remote_writer_limit ( )
inlinestatic

◆ lost_by_virtual_writers_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_virtual_writers_limit ( )
inlinestatic

A resource limit on the number of virtual writers from which a dds::sub::DataReader may read (rti::core::policy::DataReaderResourceLimits::max_remote_virtual_writers) was reached.

See also
rti::core::policy::DataReaderResourceLimits

◆ lost_by_remote_writers_per_sample_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_remote_writers_per_sample_limit ( )
inlinestatic

A resource limit on the number of remote writers per sample (rti::core::policy::DataReaderResourceLimits::max_remote_writers_per_sample) was reached.

See also
rti::core::policy::DataReaderResourceLimits

◆ lost_by_availability_waiting_time()

static const SampleLostState rti::core::status::SampleLostState::lost_by_availability_waiting_time ( )
inlinestatic

◆ lost_by_remote_writers_per_virtual_queue_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_remote_writers_per_virtual_queue_limit ( )
inlinestatic

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

See also
rti::core::policy::DataReaderResourceLimits

◆ lost_by_out_of_memory()

static const SampleLostState rti::core::status::SampleLostState::lost_by_out_of_memory ( )
inlinestatic

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

See also
rti::core::policy::DataReaderResourceLimits

◆ lost_by_unknown_instance()

static const SampleLostState rti::core::status::SampleLostState::lost_by_unknown_instance ( )
inlinestatic

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

◆ lost_by_deserialization_failure()

static const SampleLostState rti::core::status::SampleLostState::lost_by_deserialization_failure ( )
inlinestatic

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

◆ lost_by_decode_failure()

static const SampleLostState rti::core::status::SampleLostState::lost_by_decode_failure ( )
inlinestatic

When using dds::core::policy::ReliabilityKind_def::BEST_EFFORT: A received sample was lost because it could not be decoded. When using dds::core::policy::ReliabilityKind_def::RELIABLE, the sample will be rejected, not lost, with reason dds::core::status::SampleRejectedState::rejected_by_decode_failure().

◆ lost_by_samples_per_instance_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_samples_per_instance_limit ( )
inlinestatic

◆ lost_by_samples_limit()

static const SampleLostState rti::core::status::SampleLostState::lost_by_samples_limit ( )
inlinestatic