Utgivningen har Ă€gt rum OpenDDS 3.34.0 â en fri C++-implementation av specifikationen Object Management Group Data Distribution Service för realtidsystem. DDS anvĂ€nds för att bygga distribuerade system baserade pĂ„ publicerings- och prenumerationsmodellen, och OpenDDS, förutom C++, erbjuder Ă€ven Java/JNI-bindningar och bygger pĂ„ ACE/TAO. Versionen publicerades 21 maj 2026, fĂ€rdiga arkiv finns tillgĂ€ngliga för Windows, Linux och macOS.
Projektet sprids som öppen kÀllkod: OpenDDS kan anvÀndas, Àndras och distribueras utan licensavgifter sÄ lÀnge copyright-aviseringen bevaras; det pÄpekas sÀrskilt att OpenDDS kan anvÀndas Àven vid utveckling av proprietÀr mjukvara utan skyldighet att avslöja egen kÀllkod.
Huvudsakliga förÀndringar i OpenDDS 3.34.0:
Funktionerna för RtpsRelay har utvidgats. I RtpsRelay kan du nu Àndra ytterligare parameterar under körning via RtpsRelayControl-mekanismen. Dessutom har möjligheten lagts till att ange en lista med partitioner som en specifik RtpsRelay-instans kommer att förbjuda Ätkomst till, genom det nya Àmnet RelayDeniedPartitions. För att hantera giltighetstiden för detta förbud har alternativet -DeniedPartitionsTimeout lagts till.
En bygglĂ€ge för profilering har lagts till. I konfigurationsscriptet har flaggan âprofiling lagts till, vilket inkluderar typiska kompilatorinstĂ€llningar för prestandaanalys i GCC.
Callbacks för hantering av OpenDDS-trÄdar har lagts till. Utvecklarna har lagt till hanterare som anropas vid start och avslutning av OpenDDS-trÄdar. Detta möjliggör hantering av trÄdas beteende, till exempel att binda dem till specifika CPU-kÀrnor i Linux.
Deserialisering av IDL-typer har optimerats. Alla IDL-mappningar försöker nu undvika onödig nollstÀllning av minnet för sekvenser av primitiva typer vid deserialisering av exempel. För IDL-till-C++11 krÀvs ett ytterligare explicit inkludering genom @OpenDDS::no_init_before_deserialize.
Hantera antalet EventDispatcher-trÄdar. Parametrarna DCPSEventDispatcherThreads och konfigurationen event_dispatcher_threads har lagts till. Om event_dispatcher_threads=0 anvÀnds en gemensam evenemangsdispatche för transporten istÀllet för att skapa en egen lokal dispatche.
TCP-bufferinstÀllningar har lagts till. För TCP-transporter har parametrarna send_buffer_size och rcv_buffer_size lagts till. Som standard lÀmnas storleken pÄ socket-bufferar nu till plattformens omdöme, om dessa parametrar inte anges med positiva vÀrden.
ACE/TAO har uppdaterats. I paketet har beroenden uppdaterats: ACE 6/TAO 2 har höjts frÄn 6.5.23 till 6.5.24, och ACE 8/TAO 4 har höjts frÄn 8.0.5 till 8.0.6. Vid kompilering av OpenDDS med CMake Àr den standardversion av ACE/TAO som nu anvÀnds kopplingen ACE 8 / TAO 4.
Den oanvÀnda alternativet RtpsRelay har tagits bort. Alternativet -LogParticipantStatistics har tagits bort frÄn RtpsRelay eftersom det inte lÀngre anvÀndes.
Prestanda- och nÀtverksfixar. MÀngden receive buffer för netlink har ökat, och en betydande del av de tjÀnande och svarande uppgifterna har flyttats frÄn Reactor-trÄdar till motsvarande EventDispatcher-trÄdar. Detta bör avlasta Reactor-trÄdarna för nÀtverkslÀsning.
Fel har ÄtgÀrdats i ThreadStatusManager och transporterna. ThreadStatusManager anvÀnder nu flera fack med sina egna lÄs, vilket minskar konkurrensen mellan trÄdarna. Null-pointer avavÀrdering vid deserialisering av DynamicData frÄn borttagna deltagare har ÄtgÀrdats, liksom fel i sökning av transportinstanser och hantering av gemensamma lokala adresser som kunde leda till felaktiga locator-vÀrden i deltagarnas och endpointarnas tillkÀnnagivanden.
<<<<
Nyhet pÄ projektets webbplats
KĂ€lla: linux.org.ru
