RTI Connext C API Version 7.4.0

<<extension>> Various settings that configure how DataReaders allocate and use physical memory for internal resources. More...

Data Structures

struct  DDS_DataReaderResourceLimitsInstanceReplacementSettings
 Instance replacement kind applied to each instance state. More...
 
struct  DDS_DataReaderResourceLimitsQosPolicy
 <<extension>> Various settings that configure how a DDS_DataReader allocates and uses physical memory for internal resources. More...
 

Enumerations

enum  DDS_DataReaderInstanceRemovalKind {
  DDS_NO_INSTANCE_REMOVAL = PRES_NO_INSTANCE_REMOVAL ,
  DDS_EMPTY_INSTANCE_REMOVAL = PRES_EMPTY_INSTANCE_REMOVAL ,
  DDS_FULLY_PROCESSED_INSTANCE_REMOVAL = PRES_FULLY_PROCESSED_INSTANCE_REMOVAL ,
  DDS_ANY_INSTANCE_REMOVAL = PRES_ANY_INSTANCE_REMOVAL
}
 Sets the kinds of instances that can be replaced when instance resource limits (DDS_ResourceLimitsQosPolicy::max_instances) are reached. More...
 

Variables

const char *const DDS_DATAREADERRESOURCELIMITS_QOS_POLICY_NAME
 Stringified human-readable name for DDS_DataReaderResourceLimitsQosPolicy. More...
 
const DDS_Long DDS_AUTO_MAX_TOTAL_INSTANCES
 <<extension>> This value is used to make DDS_DataReaderResourceLimitsQosPolicy::max_total_instances equal to DDS_ResourceLimitsQosPolicy::max_instances. More...
 

Detailed Description

<<extension>> Various settings that configure how DataReaders allocate and use physical memory for internal resources.

Enumeration Type Documentation

◆ DDS_DataReaderInstanceRemovalKind

Sets the kinds of instances that can be replaced when instance resource limits (DDS_ResourceLimitsQosPolicy::max_instances) are reached.

See also
DDS_DataReaderResourceLimitsQosPolicy::instance_replacement
Enumerator
DDS_NO_INSTANCE_REMOVAL 

No instance can be removed.

If an instance resource is required because DDS_ResourceLimitsQosPolicy::max_instances is reached, this setting will disallow instances from being replaced. Samples for new instances will be dropped and reported as lost with reason DDS_LOST_BY_INSTANCES_LIMIT.

DDS_EMPTY_INSTANCE_REMOVAL 

Only empty instances can be removed.

Instances can be replaced only if they are empty. An instance is considered empty when all samples have been taken or removed from the DataReader queue due to the DDS_LifespanQosPolicy or sample purging due to the DDS_ReaderDataLifecycleQosPolicy, and there are no outstanding loans on any of the instance's samples.

DDS_FULLY_PROCESSED_INSTANCE_REMOVAL 

Only fully-processed instances can be removed.

An instance is considered fully processed if every sample for the instance has been processed by the application. A sample is considered processed by the application depending on the DDS_ReliabilityQosPolicy::kind:

DDS_ANY_INSTANCE_REMOVAL 

Any instance can be removed.

Instances can be replaced regardless of whether the subscribing application has processed all of the samples. Samples that have not been processed will be removed.

Variable Documentation

◆ DDS_DATAREADERRESOURCELIMITS_QOS_POLICY_NAME

const char* const DDS_DATAREADERRESOURCELIMITS_QOS_POLICY_NAME
extern

Stringified human-readable name for DDS_DataReaderResourceLimitsQosPolicy.

◆ DDS_AUTO_MAX_TOTAL_INSTANCES

const DDS_Long DDS_AUTO_MAX_TOTAL_INSTANCES
extern