OpenDDS 3.34.0

Udgivelsen fandt sted OpenDDS 3.34.0 — fri C++ implementering af specifikationen Object Management Group Data Distribution Service til realtidsystemer. DDS benyttes til at bygge distribuerede systemer baseret på publicerings- og abonnementmodellen, og OpenDDS tilbyder udover C++ også Java/JNI-bindings og bygger på ACE/TAO. Udgivelsen er offentliggjort 21. maj 2026, færdige arkiver tilgængelige for Windows, Linux og macOS.


Projektet distribueres som open source: OpenDDS kan bruges, ændres og distribueres uden licensafgifter, så længe copyright-meddelelsen bevares; det understreges separat, at OpenDDS kan anvendes i udviklingen af proprietær software uden pligt til at afsløre egen kildekode.

Hovedændringer i OpenDDS 3.34.0:

  • Mulighederne for RtpsRelay er blevet udvidet. I RtpsRelay kan der nu ændres yderligere parametre under kørsel via mekanismen RtpsRelayControl. Der er også tilføjet muligheden for at specificere en liste over partitioner, som en bestemt instans af RtpsRelay ikke vil have adgang til, gennem det nye emne RelayDeniedPartitions. For at styre varigheden af sådan en forbudsfunktion er der tilføjet en mulighed -DeniedPartitionsTimeout.

  • Tilføjet en byggetilstand til profilering. I konfigurationsscriptet er der tilføjet et flag —profiling, som aktiverer typiske kompilationsparametre til ydeevneanalyse i GCC.

  • Callbacks til styring af OpenDDS-tråde er blevet tilføjet. Udviklerne har tilføjet håndtere, der kaldes ved opstart og afslutning af OpenDDS-tråde. Dette gør det muligt at styre adfærden af trådene, for eksempel ved at binde dem til specifikke CPU-kerner i Linux.

  • Deserialisering af IDL-typer er blevet optimeret. Alle IDL-mappinger forsøger nu at undgå unødig nulstillingshukommelse for sekvenser af primitive typer under deserialisering af prøve. For IDL-til-C++11 er der behov for en ekstra eksplicit aktivering via @OpenDDS::no_init_before_deserialize.

  • Styring af antallet af EventDispatcher-tråde er blevet tilføjet. Der er tilføjet parametre DCPSEventDispatcherThreads og transportindstillingen event_dispatcher_threads. Hvis værdien event_dispatcher_threads=0 er sat, bruger transporten en fælles begivenhedsdirektør i stedet for at oprette sin egen lokale direktør.

  • TCP-bufferindstillinger er blevet tilføjet. For TCP-transporten er der blevet tilføjet parametre send_buffer_size og rcv_buffer_size. Som standard overlades størrelsen på socket-bufferne nu til platformens skøn, medmindre disse parametre får tildelt positive værdier.

  • ACE/TAO er blevet opdateret. Afhængighederne er blevet opdateret: ACE 6/TAO 2 er steget fra 6.5.23 til 6.5.24, og ACE 8/TAO 4 er steget fra 8.0.5 til 8.0.6. Ved opbygningen af OpenDDS via CMake er den standardversion af ACE/TAO, der bruges, nu bundtet ACE 8 / TAO 4.

  • Den ubrugte mulighed RtpsRelay er blevet fjernet. Muligheden -LogParticipantStatistics er blevet fjernet fra RtpsRelay, da den ikke længere blev brugt.

  • Ydelses- og netværksforbedringer. Størrelsen på receive buffer til netlink er blevet øget, og en betydelig del af de service- og svaropgaver er blevet flyttet fra Reactor-tråde til de relevante EventDispatcher-tråde. Dette bør aflaste Reactor-tråde for netværkslæsning.

  • Fejl i ThreadStatusManager og transportmidler er blevet rettet. ThreadStatusManager bruger nu flere slots med egne låse, hvilket reducerer konkurrencen mellem tråde. Der er rettet en nulpegerafreferering ved deserialisering af DynamicData fra en fjernet deltager, samt fejl vedrørende søgning af transportinstanser og håndtering af delte lokale adresser, som kunne føre til forkerte locator-værdier i deltager- og endpoint-meddelelser.
    <<<<

Nyhed på projektets hjemmeside

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster