RTI Connext C API Version 7.1.0
DDS_SystemResourceLimitsQosPolicy Struct Reference

<<extension>> Configures DDS_DomainParticipant-independent resources used by RTI Connext. Mainly used to change the maximum number of DDS_DomainParticipant entities that can be created within a single process (address space). More...

Data Fields

DDS_Long max_objects_per_thread
 The maximum number of objects that can be stored per thread for a DDS_DomainParticipantFactory. More...
 
DDS_Long initial_objects_per_thread
 The number of objects per thread for a DDS_DomainParticipantFactory for which infrastructure will initially be allocated. More...
 

Detailed Description

<<extension>> Configures DDS_DomainParticipant-independent resources used by RTI Connext. Mainly used to change the maximum number of DDS_DomainParticipant entities that can be created within a single process (address space).

Entity:
DDS_DomainParticipantFactory
Properties:
RxO = N/A
Changeable = NO

Usage

Within a single process (or address space for some supported real-time operating systems), applications may create and use multiple DDS_DomainParticipant entities. This QoS policy sets a parameter that places an effective upper bound on the maximum number of DDS_DomainParticipant entities that can be created in a single process/address space. These values cannot be changed after a DomainParticipant has been created and they cannot be set in a QoS XML file.

Field Documentation

◆ max_objects_per_thread

DDS_Long DDS_SystemResourceLimitsQosPolicy::max_objects_per_thread

The maximum number of objects that can be stored per thread for a DDS_DomainParticipantFactory.

This value is the upper bound on the number of objects that can be stored per thread. When a DDS_DomainParticipantFactory is created, infrastructure will be created to manage the number of objects specified by initial_objects_per_thread. As more objects are required by the application, the infrastructure will be automatically grown to accommodate up to max_objects_per_thread objects. Leave this property set to the default value to allow the infrastructure to grow as needed. If you wish to strictly control memory allocation, set max_objects_per_thread to a smaller value, but note that this runs the risk of a runtime error and reduced application functionality if your limit is reached.

[default] 261120

[range] [1, 261120]

◆ initial_objects_per_thread

DDS_Long DDS_SystemResourceLimitsQosPolicy::initial_objects_per_thread

The number of objects per thread for a DDS_DomainParticipantFactory for which infrastructure will initially be allocated.

The infrastructure for managing thread-specific objects will initially be sized according to this value. The infrastructure will grow automatically, up to a maximum of max_objects_per_thread, as required by the application at runtime. If you are certain that more than the default value of initial_objects_per_thread will be required for your application and you wish to reduce the number of memory allocations performed while your application reaches steady state, you may set this value to a larger number. To improve the efficiency of memory allocation, RTI Connext may initially size the infrastructure to a larger value than the value of initial_objects_per_thread. The infrastructure will never be sized less than initial_objects_per_thread or greater than max_objects_per_thread. When the infrastructure for managing thread-specific objects is created or increased, a log message stating "Allowed number of thread specific objects is now " will be produced at the local log level.

[default] 1024

[range] [1, 261120]; must be less than or equal to max_objects_per_thread