OpenDDS 3.34.0

发布发生 OpenDDS 3.34.0 — 该规范的免费 C++ 实现。 对象管理组实时系统数据分发服务DDS 用于构建采用发布/订阅模型的分布式系统,而 OpenDDS 除了支持 C++ 之外,还提供 Java/JNI 绑定,并依赖于 ACE/TAO。该版本已发布。 21的五月2026年, 现成档案 可以用来 Windows, Linux и macOS.


该项目正在分发 作为开源软件:OpenDDS 可以免版税地使用、修改和分发,前提是保留版权声明;特别强调的是,OpenDDS 也可以用于开发专有软件,而无需披露源代码。

OpenDDS 3.34.0 的主要变化:

  • RtpsRelay 的功能已得到扩展。 RtpsRelay 现在允许您通过 RtpsRelayControl 机制在运行时更改其他参数。此外,新增了通过 RelayDeniedPartitions 主题指定特定 RtpsRelay 实例将被拒绝访问的分区列表的功能。新增的 -DeniedPartitionsTimeout 选项用于控制此拒绝访问的持续时间。

  • 添加了用于性能分析的构建模式。 在 configure 脚本中添加了 --profiling 标志,以启用 GCC 中用于性能分析的典型编译选项。

  • 用于管理 OpenDDS 流的回调函数已经出现。 开发人员添加了在 OpenDDS 线程启动和结束时调用的处理程序。这使得可以控制线程行为,例如将它们分配给特定的 CPU 核心。 Linux.

  • IDL 类型的反序列化已得到优化。 现在所有 IDL 映射都会在反序列化实例时尽量避免对原始类型序列进行不必要的内存清零。对于 IDL 到 C++11 的映射,这需要通过 `@OpenDDS::no_init_before_deserialize` 显式地包含。

  • 增加了对 EventDispatcher 线程数的控制。 已添加 DCPSEventDispatcherThreads 参数和 event_dispatcher_threads 传输设置。当 event_dispatcher_threads=0 时,传输将使用共享事件分发器,而不是创建自己的本地分发器。

  • 添加了 TCP 缓冲区设置。 send_buffer_size 和 rcv_buffer_size 参数已添加到 TCP 传输协议中。默认情况下,套接字缓冲区大小由平台自行决定,除非将这些参数设置为正值。

  • ACE/TAO 已更新。 依赖项已更新:ACE 6/TAO 2 已从 6.5.23 升级到 6.5.24,ACE 8/TAO 4 已从 8.0.5 升级到 8.0.6。通过 CMake 构建 OpenDDS 时,默认的 ACE/TAO 版本现在是 ACE 8 / TAO 4。

  • 移除未使用的 RtpsRelay 选项。 RtpsRelay 中已移除 -LogParticipantStatistics 选项,因为它不再使用。

  • 性能和网络修复。 netlink 的接收缓冲区大小已增加,并且大部分服务和响应任务已从 Reactor 线程移至相应的 EventDispatcher 线程。这应该可以减轻 Reactor 线程的网络读取负载。

  • 修复了 ThreadStatusManager 和传输中的错误。 ThreadStatusManager 现在使用多个带有各自锁的槽,从而减少了线程间的争用。修复了从已删除的参与者反序列化 DynamicData 时出现的空指针解引用问题,以及传输实例查找和处理共享本地地址时可能导致参与者和端点声明中定位器值错误的错误。
    <<<

项目网站上的新闻

来源: linux.org.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster