3.1.2.1.5. EntityFactoryQosPolicy
EntityFactoryQosPolicy是一个QoS策略,用于控制实体作为其他实体的工厂时的行为。默认情况下,所有创建的实体都是启用状态,但如果将autoenable_created_entities
的值更改为false
,则新创建的实体将以禁用状态创建。
QoS策略数据成员列表:
数据成员名称 | 类型 | 默认值 |
---|---|---|
autoenable_created_entities | bool | true |
注意
该QoS策略适用于以下情境:
- DomainParticipantFactory(作为DomainParticipant的工厂)
- DomainParticipant(作为Publisher、Subscriber和Topic的工厂)
- Publisher(作为DataWriter的工厂)
- Subscriber(作为DataReader的工厂)
此策略可以在启用状态下修改实体,但只会影响在修改后创建的新实体。
示例
// 此示例使用Participant,但也适用于
// DomainParticipantFactory、Publisher和Subscriber实体
DomainParticipantQos participant_qos;
// EntityFactoryQosPolicy默认构造时,autoenable_created_entities 为true
// 将其更改为false
participant_qos.entity_factory().autoenable_created_entities = false;
// 在创建相应实体时使用已修改的QoS
participant_ = factory_->create_participant(domain, participant_qos);
在这个示例中,通过设置autoenable_created_entities
为false
,确保接下来创建的新参与者在初始化后处于禁用状态。这种设置使得用户可以根据需求显式地启用这些新创建的实体。
内容由零声教学AI助手提供,问题来源于学员提问