这段文字讨论了在激活 STATIC EDP(静态增强发现协议)时,如何使用 XML 配置文件来指定远程实体(数据写入器和数据读取器)的信息。由于激活 STATIC EDP 会抑制所有的 EDP 元流量,因此必须通过专用的 XML 文件静态定义这些信息。以下是对该内容的详细解释:
主要概念
STATIC EDP:
- 当启用静态发现协议时,系统不会自动交换元数据,而是依赖于预先配置的信息。
XML 配置文件:
- XML 文件用于描述数据读写实体的属性。开发者可以加载多个这样的配置文件,以便将不同实体的信息集中在一个文件中或分散到多个文件中,以便于管理和组织。
Fast DDS 提供示例:
- Fast DDS 为实现此发现协议提供了一个静态发现的示例,以帮助开发者理解如何正确配置相关参数。
XML 配置文件中的元素说明
以下表格列出了 STATIC EDP XML 配置文件可能包含的所有元素及其描述、可选值和默认值:
名称 | 描述 | 值 | 默认值 |
---|---|---|---|
<userId> |
必需,唯一标识 DataReader/DataWriter | uint16_t | 0 |
<entityID> |
DataReader/DataWriter 的 EntityId | uint16_t | 0 |
<expects_inline_qos> |
指示是否期望内联 QOS(仅限 DataReader) | bool | false |
<topicName> |
必需,远程 DataReader/DataWriter 的主题 | string_255 | |
<topicDataType> |
必需,主题的数据类型 | string_255 | |
<topicKind> |
主题类型 | NO_KEY, WITH_KEY | NO_KEY |
<partitionQos> |
远程对等体的分区名称,可以重复以配置多个分区 | string | |
<unicastLocator> |
DomainParticipant 的单播定位符 | ||
<multicastLocator> |
DomainParticipant 的多播定位符 | ||
<reliabilityQos> |
查看 ReliabilityQosPolicy 部分 | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS |
<durabilityQos> |
查看 DurabilityQosPolicy 部分 | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS | ||
<ownershipQos> | 查看 Ownership QoS | | |
|||
<livelinessQos> | 定义远程对等体的生存性 | | |
|||
<disablePositiveAcks> | 查看 DisablePositiveACKsQosPolicy | | |
总结
- 使用这些 XML 文件,开发者能够明确地设置各种参数,这些参数影响着 DataReaders 和 DataWriters 在网络中的行为。
- 每个字段都有具体要求,例如某些字段是必需的,有些则有默认值。这种结构化方式使得系统更加灵活且易于维护。
- 开发人员应参考
STATIC EDP XML Example
来获得完整示例,以确保他们按照规范正确配置所需信息。
内容由零声教学AI助手提供,问题来源于学员提问