OpenDDS 3.34.0

È stata pubblicata la nuova versione OpenDDS 3.34.0 — implementazione C++ della specifica Object Management Group Data Distribution Service per Sistemi in Tempo Reale. DDS è utilizzato per costruire sistemi distribuiti secondo il modello di pubblicazione e sottoscrizione, e OpenDDS, oltre al C++, fornisce collegamenti Java/JNI e si basa su ACE/TAO. La versione è stata pubblicata il 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 royalties, mantenendo l'avviso di copyright; si sottolinea inoltre che OpenDDS può essere utilizzato anche nello sviluppo di software proprietario senza obbligo di divulgare il proprio codice sorgente.

Principali modifiche di OpenDDS 3.34.0:

  • Ampliata la funzionalità di RtpsRelay. In RtpsRelay è ora possibile cambiare parametri aggiuntivi durante l'esecuzione tramite il meccanismo RtpsRelayControl. È stata anche aggiunta la possibilità di specificare un elenco di partizioni, l'accesso alle quali sarà vietato a specifiche istanze di RtpsRelay, tramite il nuovo topic RelayDeniedPartitions. Per gestire la durata di tale divieto è stata introdotta l'opzione -DeniedPartitionsTimeout.

  • Aggiunto un modo di costruzione per il profiling. Nello script configure è stata aggiunta l'opzione —profiling, che include le impostazioni di compilazione tipiche per l'analisi delle prestazioni in GCC.

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

  • Ottimizzazione della deserializzazione dei tipi IDL. Tutti i mapping IDL ora cercano di evitare l'inizializzazione non necessaria della memoria per le sequenze di tipi primiti durante la deserializzazione di un campione. Per IDL-to-C++11 è necessaria un'attivazione esplicita tramite @OpenDDS::no_init_before_deserialize.

  • Aggiunta la gestione del numero di thread EventDispatcher. Sono stati introdotti i parametri DCPSEventDispatcherThreads e la configurazione del trasporto event_dispatcher_threads. Se l'impostazione event_dispatcher_threads=0 viene utilizzata, il trasporto utilizzerà un dispatcher eventi generale invece di crearne uno locale.

  • Aggiunti parametri per i buffer TCP. Per il trasporto TCP sono stati introdotti i parametri 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 vengono impostati con valori positivi.

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

  • Rimossa l'opzione non utilizzata RtpsRelay. Dall'RtpsRelay è stata rimossa l'opzione -LogParticipantStatistics, poiché non era più utilizzata.

  • Correzioni delle prestazioni e della rete. Aumentata la dimensione del receive buffer per netlink, e una parte significativa delle operazioni di servizio e risposta è stata spostata dai thread Reactor ai relativi thread EventDispatcher. Questo dovrebbe alleggerire i thread Reactor per la lettura di rete.

  • Corretto errori in ThreadStatusManager e nei transport. ThreadStatusManager ora utilizza più slot con i propri blocchi, riducendo la concorrenza tra i thread. Corretto il dereferenziamento di puntatori nulli durante la deserializzazione di DynamicData da utenti rimossi, così come gli errori nella ricerca dell'istanza di trasporto e nella gestione degli indirizzi locali condivisi, che potevano portare a valori locator errati nelle dichiarazioni degli utenti e degli endpoint.
    <<<

Novità sul sito del progetto

Fonte: linux.org.ru

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