OpenDDS 3.34.0

È stato rilasciato OpenDDS 3.34.0 — implementazione C++ della specifica Servizio di distribuzione dei dati dell'Object Management Group per sistemi in tempo reale. DDS è utilizzato per la creazione di sistemi distribuiti secondo il modello di pubblicazione e sottoscrizione, e OpenDDS, oltre a C++, offre collegamenti Java/JNI e si basa su ACE/TAO. La versione è stata pubblicata 21 maggio 2026, archivi pronti disponibili per Windows, Linux e macOS.


Il progetto è distribuito come open source: OpenDDS può essere utilizzato, modificato e distribuito senza pagare royalties, mantenendo l'avviso di copyright; si sottolinea separatamente che OpenDDS può essere utilizzato anche nello sviluppo di software proprietario senza obbligo di rivelare il proprio codice sorgente.

Modifiche principali di OpenDDS 3.34.0:

  • Ammpliato il supporto per RtpsRelay. In RtpsRelay ora è possibile modificare parametri aggiuntivi durante l'esecuzione tramite il meccanismo RtpsRelayControl. È stata anche aggiunta la possibilità di definire un elenco di partizioni, a cui sarà negato l'accesso a una specifica istanza di RtpsRelay, attraverso un nuovo topic RelayDeniedPartitions. È stata introdotta l'opzione -DeniedPartitionsTimeout per gestire il tempo di validità di tale divieto.

  • Aggiunta una modalità di compilazione per il profiling. Nello script configure è stata aggiunta una flag —profiling, che attiva le impostazioni di compilazione tipiche per l'analisi delle prestazioni in GCC.

  • Introdotti dei callback per la gestione dei thread di OpenDDS. Gli sviluppatori hanno aggiunto gestori che vengono chiamati all'avvio e alla chiusura dei thread di OpenDDS. Questo consente di controllare il comportamento dei thread, ad esempio fissandoli a specifici core CPU in Linux.

  • Ottimizzata la deserializzazione dei tipi IDL. Tutti i mapping IDL ora cercano di evitare il ripristino non necessario della memoria per le sequenze di tipi primitivi durante la deserializzazione di un campione. Per IDL-to-C++11 è necessario attivare esplicitamente l'inclusione tramite @OpenDDS::no_init_before_deserialize.

  • Aggiunta la gestione del numero di thread dell'EventDispatcher. Introdotte le impostazioni DCPSEventDispatcherThreads e la configurazione del trasporto event_dispatcher_threads. Quando event_dispatcher_threads=0, il trasporto utilizzerà un dispatcher eventi condiviso invece di crearne uno locale.

  • Aggiunte impostazioni per i buffer TCP. Per il trasporto TCP sono state introdotte le impostazioni send_buffer_size e rcv_buffer_size. Per impostazione predefinita, la dimensione dei buffer socket ora è lasciata alla discrezione della piattaforma se questi parametri non sono definiti con valori positivi.

  • Aggiornati ACE/TAO. Nel pacchetto sono state aggiornate le dipendenze: ACE 6/TAO 2 sono state elevate da 6.5.23 a 6.5.24, mentre ACE 8/TAO 4 da 8.0.5 a 8.0.6. Durante la compilazione di OpenDDS tramite CMake, la versione di ACE/TAO predefinita è ora la combinazione ACE 8 / TAO 4.

  • Opzione RtpsRelay non utilizzata rimossa. L'opzione -LogParticipantStatistics è stata rimossa da RtpsRelay poiché non era più utilizzata.

  • Correzioni relative alle prestazioni e al funzionamento della rete. Aumentata la dimensione del buffer di ricezione per netlink, e gran parte dei compiti di servizio e risposta è stata trasferita dai thread Reactor ai corrispondenti thread EventDispatcher. Questo dovrebbe alleggerire i thread Reactor per la lettura di rete.

  • Errori in ThreadStatusManager e nei trasporti corretti. ThreadStatusManager ora utilizza più slot con i propri lock, riducendo la competizione tra i thread. Corretto il dereferenziamento di un puntatore nullo durante la deserializzazione di DynamicData da un partecipante rimovibile, così come errori nella ricerca dell'istanza di trasporto e nella gestione degli indirizzi locali comuni, che potevano portare a valori di locator errati nelle dichiarazioni dei partecipanti e degli endpoint.
    <<<<

Notizia sul sito del progetto

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster