RTI Connext Java API  Version 6.1.1

Sets the kinds of instances that can be replaced when instance resource limits (com.rti.dds.infrastructure.ResourceLimitsQosPolicy.max_instances) are reached. More...

Inheritance diagram for DataReaderInstanceRemovalKind:
Enum Copyable

Static Public Attributes

static final DataReaderInstanceRemovalKind NO_INSTANCE_REMOVAL
 No instance can be removed. More...
 
static final DataReaderInstanceRemovalKind EMPTY_INSTANCE_REMOVAL
 Only empty instances can be removed. More...
 
static final DataReaderInstanceRemovalKind FULLY_PROCESSED_INSTANCE_REMOVAL
 Only fully-processed instances can be removed. More...
 
static final DataReaderInstanceRemovalKind ANY_INSTANCE_REMOVAL
 Any instance can be removed. More...
 

Additional Inherited Members

- Public Member Functions inherited from Enum
final int ordinal ()
 The integral value of this enumerated constant. More...
 
Object copy_from (Object src)
 
final String name ()
 The name of this enum constant, as declared in the enum declaration. More...
 
final String toString ()
 The string value of this enum constant. More...
 
- Protected Member Functions inherited from Enum
 Enum (String name, int ordinal)
 The constructor. More...
 
final Object clone () throws CloneNotSupportedException
 

Detailed Description

Sets the kinds of instances that can be replaced when instance resource limits (com.rti.dds.infrastructure.ResourceLimitsQosPolicy.max_instances) are reached.

See also
com.rti.dds.infrastructure.DataReaderResourceLimitsQosPolicy.instance_replacement

Member Data Documentation

◆ NO_INSTANCE_REMOVAL

final DataReaderInstanceRemovalKind NO_INSTANCE_REMOVAL
static
Initial value:
=
new DataReaderInstanceRemovalKind("NO_INSTANCE_REMOVAL", 0)

No instance can be removed.

If an instance resource is required because com.rti.dds.infrastructure.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 com.rti.dds.subscription.SampleLostStatusKind.LOST_BY_INSTANCES_LIMIT.

◆ EMPTY_INSTANCE_REMOVAL

final DataReaderInstanceRemovalKind EMPTY_INSTANCE_REMOVAL
static
Initial value:
=
new DataReaderInstanceRemovalKind("EMPTY_INSTANCE_REMOVAL", 1)

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 com.rti.dds.infrastructure.LifespanQosPolicy or sample purging due to the com.rti.dds.infrastructure.ReaderDataLifecycleQosPolicy, and there are no outstanding loans on any of the instance's samples.

◆ FULLY_PROCESSED_INSTANCE_REMOVAL

final DataReaderInstanceRemovalKind FULLY_PROCESSED_INSTANCE_REMOVAL
static
Initial value:
=
new DataReaderInstanceRemovalKind(
"FULLY_PROCESSED_INSTANCE_REMOVAL",
2)

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 com.rti.dds.infrastructure.ReliabilityQosPolicy.kind:

◆ ANY_INSTANCE_REMOVAL

final DataReaderInstanceRemovalKind ANY_INSTANCE_REMOVAL
static
Initial value:
=
new DataReaderInstanceRemovalKind("ANY_INSTANCE_REMOVAL", 3)

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.