RTI Connext .NET API (legacy)  Version 6.1.1
DDS::EntityFactoryQosPolicy Struct Reference

A QoS policy for all DDS::Entity types that can act as factories for one or more other DDS::Entity types. More...

#include <managed_infrastructure.h>

Static Public Member Functions

static System::String ^ get_entityfactory_qos_policy_name ()
 Stringified human-readable name for DDS::EntityFactoryQosPolicy. More...
 

Properties

System::Boolean autoenable_created_entities [get, set]
 Specifies whether the entity acting as a factory automatically enables the instances it creates. More...
 

Detailed Description

A QoS policy for all DDS::Entity types that can act as factories for one or more other DDS::Entity types.

Entity:
DDS::DomainParticipantFactory, DDS::DomainParticipant, DDS::Publisher, DDS::Subscriber
Properties:
RxO = NO
Changeable = YES

Usage

This policy controls the behavior of the DDS::Entity as a factory for other entities. It controls whether or not child entities are created in the enabled state.

RTI Connext uses a factory design pattern for creating DDS Entities. That is, a parent entity must be used to create child entities. DomainParticipants create Topics, Publishers and Subscribers. Publishers create DataWriters. Subscribers create DataReaders.

By default, a child object is enabled upon creation (initialized and may be actively used). With this QoS policy, a child object can be created in a disabled state. A disabled entity is only partially initialized and cannot be used until the entity is enabled. Note: an entity can only be enabled; it cannot be disabled after it has been enabled.

This QoS policy is useful to synchronize the initialization of DDS Entities. For example, when a DDS::DataReader is created in an enabled state, its existence is immediately propagated for discovery and the DDS::DataReader object's listener called as soon as data is received. The initialization process for an application may extend beyond the creation of the DDS::DataReader, and thus, it may not be desireable for the DDS::DataReader to start to receive or process any data until the initialization process is complete. So by creating readers in a disabled state, your application can make sure that no data is received until the rest of the application initialization is complete, and at that time, enable the them.

Note: if an entity is disabled, then all of the child entities it creates will be disabled too, regardless of the setting of this QoS policy. However, enabling a disabled entity will enable all of its children if this QoS policy is set to automatically enable children entities.

This policy is mutable. A change in the policy affects only the entities created after the change, not any previously created entities.

Property Documentation

◆ autoenable_created_entities

System:: Boolean DDS::EntityFactoryQosPolicy::autoenable_created_entities
getset

Specifies whether the entity acting as a factory automatically enables the instances it creates.

The setting of autoenable_created_entities to true indicates that the factory create_<entity> operation(s) will automatically invoke the DDS::Entity::enable operation each time a new DDS::Entity is created. Therefore, the DDS::Entity returned by create_<entity> will already be enabled. A setting of false indicates that the DDS::Entity will not be automatically enabled. Your application will need to call DDS::Entity::enable itself.

The default setting of autoenable_created_entities = true means that, by default, it is not necessary to explicitly call DDS::Entity::enable on newly created entities.

[default] true

Referenced by RTI.Connext.Queuing.QueueConsumer< TRep >::QueueConsumer(), and RTI.Connext.Queuing.QueueProducer< TRep >::QueueProducer().