OpenDDS 3.34.0

A avut loc lansarea OpenDDS 3.34.0 — o implementare liberă în C++ a specificației Serviciul de distribuție a datelor pentru sisteme în timp real al Object Management Group. DDS este utilizat pentru construirea de sisteme distribuite pe baza unui model de publicare și subscriere, iar OpenDDS, pe lângă C++, oferă legături Java/JNI și se bazează pe ACE/TAO. Lansarea a fost publicată 21 mai 2026, arhivele gata făcute sunt disponibile pentru Windows, Linux și macOS.


Proiectul este distribuit ca software open source: OpenDDS poate fi utilizat, modificat și distribuit fără taxe de licență, cu menținerea notificării de copyright; se subliniază, de asemenea, că OpenDDS poate fi aplicat și în dezvoltarea de software proprietar fără obligația de a dezvălui codul sursă.

Principalele modificări în OpenDDS 3.34.0:

  • Capabilitățile RtpsRelay au fost extinse. În RtpsRelay acum se pot schimba parametrii suplimentari în timpul execuției prin mecanismul RtpsRelayControl. De asemenea, a fost adăugată posibilitatea de a defini o listă de partiții la care va fi refuzat accesul de către o instanță specifică a RtpsRelay, prin noul topic RelayDeniedPartitions. Pentru gestionarea duratei acestui refuz, a fost adăugată opțiunea -DeniedPartitionsTimeout.

  • A fost adăugat un mod de compilare pentru profilare. În scriptul configure a fost adăugat un flag —profiling, care activează parametrii de compilare tipici pentru analiza performanței în GCC.

  • Au fost adăugate callbacks pentru gestionarea thread-urilor OpenDDS. Dezvoltatorii au adăugat gestionatori care sunt apelate la pornirea și închiderea thread-urilor OpenDDS. Aceasta permite gestionarea comportamentului thread-urilor, de exemplu, prin legarea acestora de nuclee CPU specifice în Linux.

  • Deserilizarea tipurilor IDL a fost optimizată. Toate mapările IDL încearcă acum să evite resetarea inutilă a memoriei pentru secvențele de tipuri primitive la deserilizarea unui șablon. Pentru IDL-to-C++11 este necesară o includere explicită suplimentară prin @OpenDDS::no_init_before_deserialize.

  • A fost adăugat controlul numărului de thread-uri EventDispatcher. Au apărut parametrii DCPSEventDispatcherThreads și configurația de transport event_dispatcher_threads. La o valoare event_dispatcher_threads=0, transportul va folosi un dispatcher de evenimente comun în loc să creeze un dispatcher local propriu.

  • Au fost adăugate setări pentru buffer-e TCP. Pentru transportul TCP au apărut parametrii send_buffer_size și rcv_buffer_size. În mod implicit, dimensiunea buffer-elor socket este lăsată la discreția platformei, dacă acești parametri nu sunt definiți cu valori pozitive.

  • Actualizate ACE/TAO. În cadrul actualizării, dependențele: ACE 6/TAO 2 au fost ridicate de la 6.5.23 la 6.5.24, iar ACE 8/TAO 4 de la 8.0.5 la 8.0.6. La compilarea OpenDDS prin CMake, versiunea implicită a ACE/TAO este acum combinația ACE 8 / TAO 4.

  • Opțiunea RtpsRelay inutilizată a fost eliminată. Opțiunea -LogParticipantStatistics a fost eliminată din RtpsRelay, deoarece nu mai era utilizată.

  • Îmbunătățiri de performanță și rețea. Dimensiunea buffer-ului de recepție pentru netlink a fost crescută, iar o parte semnificativă a sarcinilor de servicii și răspunsuri a fost mutată de pe fluxurile Reactor pe fluxurile corespunzătoare EventDispatcher. Acest lucru ar trebui să elibereze fluxurile Reactor pentru citirea rețelei.

  • Erorile din ThreadStatusManager și transporturi au fost corectate. ThreadStatusManager folosește acum mai multe sloturi cu blocări proprii, ceea ce reduce competiția între fire. A fost corectată dereferințierea unui pointer nul la deserializarea DynamicData de la un participant eliminat, dar și erorile de căutare a instanței transportului și de gestionare a adreselor locale comune, care ar putea duce la valori locator incorecte în declarațiile participanților și ale endpoint-urilor.
    <<<<

Știre pe site-ul proiectului

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster