ZBLOG

DataWriterListener is an abstract class defining the callbacks that will be triggered in response to state changes on the DataWriter. By default, all these callbacks are empty and do nothing. The user should implement a specialization of this clas...

DataWriterListener 是一个抽象类,用于定义在 DataWriter 状态变化时会触发的回调。默认情况下,所有这些回调都是空的,不执行任何操作。用户应实现该类的具体化,通过重写所需的回调来满足应用需求。未被重写的回调将保持其空实现。

回调函数说明

DataWriterListener 定义了以下回调:

  1. on_publication_matched()

    • 描述:当 DataWriter 找到与其主题(Topic)匹配的数据读取器(DataReader),并且两者具有共同分区和兼容的 QoS 时,该方法被调用。此外,当之前匹配的 DataReader 不再匹配时也会触发此回调。
    • 作用:允许应用程序监控和处理数据写入者与数据读取者之间的匹配状态变化。
  2. on_offered_deadline_missed()

    • 描述:当 DataWriter 未能在其配置的截止期限内提供数据时,会调用此方法。这对于每个截止期限和未提供数据的数据实例都会触发。
    • 作用:通知应用程序 deadline 失效情况,可能需要采取措施以确保及时发送数据。
  3. on_offered_incompatible_qos()

    • 描述:当 DataWriter 找到一个匹配的 DataReader,但是请求的 QoS 与定义在 DataWriter 上的不兼容时,会调用该方法。
    • 作用:使应用程序能够识别和处理 QoS 不匹配的问题,从而可能需要调整 QoS 设置。
  4. on_liveliness_lost()

    • 描述:当 DataWriter 没有遵循其配置中的活跃性要求时,此方法被调用。因此,所有的数据读取器将视该 DataWriter 为不再活动。
    • 作用:帮助监测系统中组件间活跃性的丧失,便于进行错误处理或资源管理。
  5. on_unacknowledged_sample_removed()

    • 描述:当 DataWriter 删除一个尚未被所有已匹配的数据读取器确认过的样本时,将调用此方法。
    • 作用:可以用来跟踪或记录哪些样本没有被确认,从而可能导致数据一致性问题或者需要进一步调查。

总结

实现适合自己应用场景所需的方法覆盖是使用 DataWriterListener 的关键部分。通过重写这些回调,可以更好地控制和响应系统中的事件,以增强可靠性和性能。同时,在开发过程中要考虑到默认实现不会执行任何操作,因此必须根据需求显式地添加逻辑。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=7021

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?