OpenDDS 3.34.0

Došlo k vydání OpenDDS 3.34.0 — volné C++ implementace specifikace Object Management Group Data Distribution Service pro reálné systémy. DDS se používá pro budování distribuovaných systémů na modelu publikace a odběru a samotný OpenDDS, kromě C++, poskytuje Java/JNI vazby a spoléhá na ACE/TAO. Verze byla vydána 21. května 2026, hotové archivy jsou k dispozici pro Windows, Linux a macOS.


Projekt je distribuován jako open source: OpenDDS lze používat, měnit a distribuovat bez licenčních poplatků při zachování copyrightového oznámení; zvlášť se zdůrazňuje, že OpenDDS lze používat i při vývoji proprietárního SW bez povinnosti zveřejnit svůj zdrojový kód.

Hlavní změny OpenDDS 3.34.0:

  • Byly rozšířeny možnosti RtpsRelay. V RtpsRelay lze nyní měnit další parametry za běhu pomocí mechanismu RtpsRelayControl. Také byla přidána možnost určit seznam oddílů, k nimž bude konkrétním instancím RtpsRelay zakázán přístup, prostřednictvím nového topiku RelayDeniedPartitions. Pro správu doby platnosti tohoto zákazu byla přidána možnost -DeniedPartitionsTimeout.

  • Byl přidán režim sestavení pro profilování. Do skriptu configure byl přidán příznak —profiling, který zahrnuje typické parametry kompilace pro analýzu výkonu v GCC.

  • Byly přidány callbacks pro správu vláken OpenDDS. Vývojáři přidali zpracovatele, které se volají při spuštění a ukončení vláken OpenDDS. To umožňuje řídit chování vláken, například je přiřadit konkrétním CPU jádrům v Linuxu.

  • Byla optimalizována deserializace IDL typů. Všechny IDL mapování se nyní snaží vyhýbat zbytečnému nulování paměti pro sekvence primitivních typů při deserializaci vzoru. Pro IDL-to-C++11 je vyžadováno dodatečné explicitní zahrnutí prostřednictvím @OpenDDS::no_init_before_deserialize.

  • Byla přidána kontrola počtu vláken EventDispatcher. Byly přidány parametry DCPSEventDispatcherThreads a transportní nastavení event_dispatcher_threads. Při hodnotě event_dispatcher_threads=0 bude transport používat společný event dispatcher místo vytváření vlastního lokálního dispatcheru.

  • Byla přidána nastavení TCP bufferů. Pro TCP transport se objevily parametry send_buffer_size a rcv_buffer_size. Ve výchozím nastavení je velikost socket bufferů nyní ponechána na uvážení platformy, pokud tyto parametry nejsou nastaveny na kladné hodnoty.

  • Byly aktualizovány ACE/TAO. V rámci aktualizace byly závislosti: ACE 6/TAO 2 zvýšeny z 6.5.23 na 6.5.24, a ACE 8/TAO 4 z 8.0.5 na 8.0.6. Při sestavování OpenDDS přes CMake se výchozí verze ACE/TAO nyní stala kombinace ACE 8 / TAO 4.

  • Odstraněna nepoužívaná možnost RtpsRelay. Z RtpsRelay byla odstraněna možnost -LogParticipantStatistics, protože již nebyla používána.

  • Opravy výkonu a síťového provozu. Velikost receive bufferu pro netlink byla zvýšena, a značná část obslužných a odpovědních úloh byla přesunuta z Reactor vláken na odpovídající EventDispatcher vlákna. To by mělo uvolnit Reactor vlákna pro síťové čtení.

  • Byly opraveny chyby v ThreadStatusManager a transportech. ThreadStatusManager nyní používá několik slotů se svými zámky, což snižuje konkurenci mezi vlákny. Opraveno dereferencování null pointeru při deserializaci DynamicData od odstraňovaného účastníka, stejně jako chyby při hledání instance transportu a při práci se sdílenými lokálními adresami, které mohly vést k nesprávným locator hodnotám v oznámeních účastníků a endpointů.
    <<<

Novinky na stránkách projektu

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster