Toimus väljaanne OpenDDS 3.34.0 — vabast C++ rakendust spetsifikatsiooni Object Management Group Data Distribution Service reaalajas süsteemidele. DDS-i kasutatakse jaotatud süsteemide loomiseks väljaandmise ja tellimise mudeli järgi ning OpenDDS, lisaks C++-le, pakub Java/JNI sidemeid ja toetub ACE/TAO-le. Väljaanne on avaldatud 21. mai 2026, valmis arhiivid saadaval Windowsi, Linuxi ja macOS-i jaoks.
Projekt jagatakse avatud lähtekoodina: OpenDDS-i saab kasutada, muuta ja jagada ilma litsentsitasudeta, kui autoriõiguse teated jäävad alles; eraldi rõhutatakse, et OpenDDS-i võib kasutada ka patenteeritud tarkvara arendamisel ilma vajaduseta avalikustada oma lähtekoodi.
Peamised muudatused OpenDDS 3.34.0:
RtpsRelay funktsionaalsus on laienenud. RtpsRelay-s on nüüd võimalik muuta täiendavaid parameetreid töö käigus RtpsRelayControl mehhanismi kaudu. Samuti on lisatud võimalus määrata partitsioonide loetelu, millele konkreetne RtpsRelay eksemplar ei pääse, uue teema RelayDeniedPartitions kaudu. Sellise keelu kehtivuse haldamiseks on saadaval valik -DeniedPartitionsTimeout.
Lisatud kogumise režiim profileerimiseks. Konfigureerimise skripti on lisatud lipp —profiling, mis sisestab GCC-s tavapärased kompileerimise parameetrid jõudluse analüüsimiseks.
Avanenud on callbacks OpenDDS-i lõimede haldamiseks. Arendajad on lisanud töötlejad, mis kutsutakse üles OpenDDS-i lõimede käivitamisel ja lõpetamisel. See võimaldab lõpetada lõimede käitumist, näiteks siduda need konkreetsete CPU-ydede külge Linuxis.
IDL-tüüpide deserialiseerimine on optimeeritud. Kõik IDL-kaardistused püüavad nüüd vältida liigset mälu nullimist primitiivsete tüüpide järjestustes deserialiseerimise ajal. IDL-to-C++11 nõuab täiendavat selget sisselülitamist @OpenDDS::no_init_before_deserialize kaudu.
Lisatud sündmuste dispetšeri lõimede haldamine. On saadaval parameetrid DCPSEventDispatcherThreads ja transpordihaldus event_dispatcher_threads. Kui event_dispatcher_threads=0, kasutab transport ühiskasutuses olevat sündmuste dispetšerit enda kohaliku dispetšeri loomise asemel.
TCP-puhvrite seaded on lisatud. TCP-transpordile on lisatud parameetrid send_buffer_size ja rcv_buffer_size. Vaikimisi on socket-puhvide suurus nüüd jätmata platvormi otsustada, kui need parameetrid ei ole määratud positiivsete väärtustena.
ACE/TAO on uuendatud. Teat renoveeritud sõltuvused: ACE 6/TAO 2 tõstetud 6.5.23-lt 6.5.24-le, ning ACE 8/TAO 4 - 8.0.5-lt 8.0.6-le. OpenDDS-i kogumise ajal on CMake'i poolt vaikimisi nüüd ACE 8 / TAO 4 komplekt.
Eemaldatud kasutamata valik RtpsRelay. RtpsRelay'st on eemaldatud valik -LogParticipantStatistics, kuna seda ei kasutatud enam.
Tõhususe ja võrgu töö parandused. Suurendatud receive bufferi suurust netlinki jaoks, ning suur osa teenindavatest ja vastusülesannetest on viidud Reactor voogudest vastavatesse EventDispatcher voogudesse. See peaks koormust Reactor voogudelt vähendama võrgu lugemisel.
Parandatud vead ThreadStatusManager'is ja transportides. ThreadStatusManager kasutab nüüd mitmeid slotte oma lukustustega, mis vähendab voogude vahel konkurentsi. Parandatud nullviitega dereferentseerimise probleem DynamicData deserialiseerimisel eemaldatud osalise puhul, samuti vead transport instantsi otsingus ja kohalike aadressidega, mis võisid põhjustada vale locator-väärtusi osaliste ja endpoint'ide kuulutustes.
<<<<
Allikas: linux.org.ru
