Izdanje je objavljeno OpenDDS 3.34.0 — prosta C++ implementacija specifikacije Object Management Group Data Distribution Service za real-time sisteme. DDS se koristi za izgradnju distribuiranih sistema prema modelu objavljivanja i pretplate, a OpenDDS, pored C++, pruža Java/JNI veze i oslanja se na ACE/TAO. Izdanje je objavljeno 21. maja 2026, pripremljeni arhivi dostupni za Windows, Linux i macOS.
Projekt se distribuira kao open source: OpenDDS se može koristiti, menjati i distribuirati bez licencnih naknada uz zadržavanje copyright obaveštenja; posebno se naglašava da se OpenDDS može primenjivati i u razvoju proprietarnog softvera bez obaveze otkrivanja vlastitog izvornog koda.
Glavne promene OpenDDS 3.34.0:
Proširene mogućnosti RtpsRelay. U RtpsRelay sada je moguće menjati dodatne parametre tokom izvršenja putem mehanizma RtpsRelayControl. Takođe je dodana mogućnost definisanja liste delova kojima će pristup biti zabranjen određenim instancama RtpsRelay, kroz novu temu RelayDeniedPartitions. Da bi se upravljalo rokom važenja takve zabrane, dodana je opcija -DeniedPartitionsTimeout.
Dodavan način izgradnje za profilisanje. U konfiguracioni skript je dodana oznaka —profiling, koja uključuje tipične parametre kompajliranja za analizu performansi u GCC-u.
Dodani callbacks za upravljanje OpenDDS nitima. Programeri su dodali obradnike koji se pozivaju prilikom pokretanja i završetka OpenDDS niti. To omogućava upravljanje ponašanjem niti, na primer, vezivanje za određene CPU jezgre u Linux-u.
Optimizovana deserializacija IDL tipova. Svi IDL mapiranja sada nastoje da izbegnu suvišno nultaње memorije za sekvence primitivnih tipova prilikom deserializacije uzorka. Za IDL-to-C++11 je potrebna dodatna eksplicitna uključenost preko @OpenDDS::no_init_before_deserialize.
Dodato upravljanje brojem EventDispatcher niti. Pojavili su se parametri DCPSEventDispatcherThreads i transportna konfiguracija event_dispatcher_threads. Kada je event_dispatcher_threads=0, transport će koristiti zajednički event dispatcher umesto kreiranja vlastitog lokalnog dispečera.
Dodate postavke TCP-buferi. Za TCP transport su se pojavili parametri send_buffer_size i rcv_buffer_size. Po defaultu, veličina socket-buferа sada se ostavlja na procenu platforme, ukoliko ovi parametri nisu zadati pozitivnim vrednostima.
Ažurirani ACE/TAO. V okviru posodobitve so odvisnosti: ACE 6/TAO 2 nadgrajene s 6.5.23 na 6.5.24, ACE 8/TAO 4 pa s 8.0.5 na 8.0.6. Pri sestavljanju OpenDDS prek CMake je privzeta različica ACE/TAO zdaj povezava ACE 8/TAO 4.
Odstranjena je neuporabljena možnost RtpsRelay. Iz RtpsRelay je odstranjena možnost -LogParticipantStatistics, saj se več ne uporablja.
Izboljšave zmogljivosti in omrežnega dela. Povečana je velikost sprejemnega predpomnilnika za netlink, velika večina nalog za obvladovanje in odgovore pa je prenesena z Reactor niti na ustrezne EventDispatcher niti. To naj bi razbremenilo Reactor niti za omrežno branje.
Popravljene so napake v ThreadStatusManager in transportih. ThreadStatusManager zdaj uporablja več slotov s svojimi zaklepanji, kar zmanjšuje konkurenco med niti. Popravljeno je dereferenciranje ničelnega pokazatelja pri deserializaciji DynamicData iz odstranjene udeležbe, kot tudi napake pri iskanju transportne instance in pri delu z skupnimi lokalnimi naslovi, ki so lahko privedle do napačnih locator vrednosti v napovedih udeležencev in endpointov.
<<<
Novica na spletni strani projekta
Izvor: linux.org.ru
