Izdano je OpenDDS 3.34.0 — slobodna C++ implementacija specifikacije Object Management Group Data Distribution Service za sustave u stvarnom vremenu. DDS se koristi za izgradnju distribuiranih sustava prema modelu objavljivanja i pretplate, a OpenDDS, osim C++, nudi Java/JNI povezivanja i oslanja se na ACE/TAO. Izdanje je objavljeno 21. svibnja 2026. godine, gotovi arhivi dostupni za Windows, Linux i macOS.
Projekt se distribuira kao open source: OpenDDS se može koristiti, mijenjati i distribuirati bez licencnih naknada uz očuvanje copyright obavijesti; posebno se naglašava da se OpenDDS može koristiti i pri razvoju proprietarnog softvera bez obveze otkrivanja vlastitog izvornog koda.
Glavne promjene OpenDDS 3.34.0:
Proširene mogućnosti RtpsRelay. U RtpsRelay sada je moguće promijeniti dodatne parametre tijekom izvođenja putem mehanizma RtpsRelayControl. Također je dodana mogućnost definiranja popisa particija kojima će biti zabranjen pristup određenim instancama RtpsRelay, putem nove teme RelayDeniedPartitions. Za upravljanje rokom trajanja takve zabrane dodana je opcija -DeniedPartitionsTimeout.
Dodana je opcija gradnje za profiliranje. U skriptu configure dodana je zastavica —profiling, koja uključuje tipične parametre kompilacije za analizu performansi u GCC-u.
Dodani su callbacks za upravljanje nitima OpenDDS. Programeri su dodali handler-e koji se pozivaju pri pokretanju i završetku niti OpenDDS. To omogućava upravljanje ponašanjem niti, na primjer, vezanje za određene CPU jezgre u Linuxu.
Optimizirana je deseralizacija IDL tipova. Svi IDL mape sada nastoje izbjeći nepotrebno nulu memorije za sekvencijalne primitivne tipove tijekom deseralizacije uzorka. Za IDL-to-C++11 potrebna je dodatna izričita aktivacija putem @OpenDDS::no_init_before_deserialize.
Dodano upravljanje brojem niti EventDispatcher. Dodani su parametri DCPSEventDispatcherThreads i transportna postavka event_dispatcher_threads. Kada je event_dispatcher_threads=0, transport će koristiti zajednički događajni dispatcher umjesto stvaranja vlastitog lokalnog dispečera.
Dodane postavke TCP buffer-a. Za TCP transport dodani su parametri send_buffer_size i rcv_buffer_size. Po zadanom, veličina socket-buffera ostaje na prosudbi platforme ako ovi parametri nisu određeni pozitivnim vrijednostima.
Ažurirani ACE/TAO. U sastavu su ažurirane ovisnosti: ACE 6/TAO 2 podignute su s 6.5.23 na 6.5.24, a ACE 8/TAO 4 — s 8.0.5 na 8.0.6. Prilikom izgradnje OpenDDS-a putem CMake-a, zadana verzija ACE/TAO je sada kombinacija ACE 8 / TAO 4.
Uklonjena je neiskorištena opcija RtpsRelay. Iz RtpsRelay uklonjena je opcija -LogParticipantStatistics, jer se više nije koristila.
Ispravke performansi i mrežnog rada. Povećana je veličina receive buffer-a za netlink, a značajan dio poslužiteljskih i odgovornih zadataka premješten je s Reactor niti na odgovarajuće EventDispatcher niti. To bi trebalo rasteretiti Reactor niti za mrežno čitanje.
Ispravljene su greške u ThreadStatusManager-u i transportima. ThreadStatusManager sada koristi više slotova s vlastitim zaključavanjima, što smanjuje natjecanje između niti. Ispravljeno je dereferenciranje null pokazivača pri deserializaciji DynamicData od uklonjenog sudionika, kao i greške u pronalaženju transport instance i radu s zajedničkim lokalnim adresama, koje su mogle dovesti do netočnih locator vrijednosti u objavama sudionika i endpointa.
<<<<
Izvor: linux.org.ru
