【OpenDDS开发指南V3.20】第四章:条件和监听

在这里插入图片描述
DDS 规范定义了两种独立的机制,用于通知应用程序 DCPS 通信状态更改。大多数状态类型定义了一个结构,该结构包含与状态变化相关的信息,并且可以由应用程序使用条件或侦听器检测到。不同的状态类型在 4.2 中描述。

每个实体类型(域参与者、主题、发布者、订阅者、数据读取器和数据写入器)都定义了自己对应的侦听器接口。应用程序可以实现此接口,然后将其侦听器实现附加到实体。

每个侦听器接口包含可以为该实体报告的每个状态的操作。只要发生合格的状态更改,侦听器就会通过适当的操作异步回调。 4.3 讨论了不同侦听器类型的详细信息。

条件与等待集结合使用,让应用程序同步等待事件。条件的基本使用模式包括创建条件对象,将它们附加到等待集,然后在等待集上等待直到触发其中一个条件。

等待的结果告诉应用程序触发了哪些条件,允许应用程序采取适当的动作来获取相应的状态信息。条件在 4.4 中有更详细的描述。

通讯状态类型

每个状态类型都与特定的实体类型相关联。此部分按实体类型组织,相应的状态在相关实体类型下的小节中描述。

下面的大多数状态都是普通的通信状态。例外是 DATA_ON_READERSDATA_AVAILABLE,它们是读取状态。

普通通信状态定义了 IDL 数据结构。他们下面的相应部分描述了这个结构及其字段。

读取状态是对应用程序的简单通知然后根据需要读取或获取样本。

状态数据结构中的增量值报告自上次访问状态以来的更改。当为该状态调用侦听器或从其实体读取状态时,该状态被视为已访问。

具有 InstanceHa

猜你喜欢

转载自blog.csdn.net/u012739527/article/details/127803822