OpenDDS 3.34.0

La version a été publiée OpenDDS 3.34.0 — mise en œuvre libre en C++ de la spécification Service de distribution de données de l'Object Management Group pour les systèmes en temps réel. DDS est utilisé pour la construction de systèmes distribués selon le modèle de publication et d'abonnement, et OpenDDS, en plus de C++, fournit des liaisons Java/JNI et repose sur ACE/TAO. La version a été publiée le 21 mai 2026, archives prêtes à l'emploi disponibles pour Windows, Linux et macOS.


Le projet est distribué en open source : OpenDDS peut être utilisé, modifié et distribué sans redevances sous licence tout en conservant l'avis de copyright ; il est spécifiquement souligné qu'OpenDDS peut être utilisé lors du développement de logiciels propriétaires sans obligation de divulguer le code source.

Les principales modifications d'OpenDDS 3.34.0 :

  • Les capacités de RtpsRelay ont été étendues. Dans RtpsRelay, il est désormais possible de modifier des paramètres supplémentaires à l'exécution via le mécanisme RtpsRelayControl. Une nouvelle option de topic RelayDeniedPartitions a également été ajoutée pour spécifier les partitions auxquelles un certain exemplaire de RtpsRelay n’aura pas accès. Une option -DeniedPartitionsTimeout a été introduite pour gérer la durée de cette interdiction.

  • Ajout d'un mode de compilation pour le profilage. Un drapeau —profiling a été ajouté au script configure, activant les options de compilation typiques pour l'analyse des performances dans GCC.

  • Des callbacks ont été ajoutés pour gérer les threads d'OpenDDS. Les développeurs ont ajouté des gestionnaires qui sont appelés lors du démarrage et de la fin des threads OpenDDS. Cela permet de contrôler le comportement des threads, par exemple en les liant à des cœurs CPU particuliers sous Linux.

  • La désérialisation des types IDL a été optimisée. Tous les mappages IDL tentent désormais d'éviter les réinitialisations inutiles de mémoire pour les séquences de types primitifs lors de la désérialisation d'échantillons. Pour IDL-to-C++11, il est nécessaire d'inclure explicitement @OpenDDS::no_init_before_deserialize.

  • Ajout de la gestion du nombre de threads EventDispatcher. Des paramètres DCPSEventDispatcherThreads et de configuration de transport event_dispatcher_threads sont désormais disponibles. Lorsque event_dispatcher_threads=0, le transport utilisera l’EventDispatcher global au lieu de créer son propre dispatcher local.

  • Des paramètres de tampons TCP ont été ajoutés. Pour le transport TCP, des paramètres send_buffer_size et rcv_buffer_size ont été ajoutés. Par défaut, la taille des tampons socket est laissée à la discrétion de la plateforme, à moins que ces paramètres ne soient définis avec des valeurs positives.

  • ACE/TAO mis à jour. Les dépendances ont été mises à jour : ACE 6/TAO 2 sont passés de 6.5.23 à 6.5.24, et ACE 8/TAO 4 de 8.0.5 à 8.0.6. Lors de la construction d'OpenDDS via CMake, la version par défaut d'ACE/TAO est maintenant la combinaison ACE 8 / TAO 4.

  • L'option RtpsRelay inutilisée a été supprimée. L'option -LogParticipantStatistics a été retirée de RtpsRelay, car elle n'était plus utilisée.

  • Corrections de performances et de fonctionnement réseau. La taille du tampon de réception pour netlink a été augmentée, et une grande partie des tâches de service et de réponse a été transférée des threads Reactor vers les threads EventDispatcher correspondants. Cela devrait alléger les threads Reactor pour la lecture réseau.

  • Des bogues dans ThreadStatusManager et les transports ont été corrigés. ThreadStatusManager utilise maintenant plusieurs slots avec ses propres verrous, ce qui réduit la concurrence entre les threads. Le problème de déréférencement d’un pointeur nul lors de la désérialisation de DynamicData d'un participant supprimé a été corrigé, ainsi que les erreurs de recherche de l'instance de transport et de traitement des adresses locales partagées, qui pouvaient entraîner des valeurs de locator incorrectes dans les annonces de participants et d'endpoints.
    <<<

News sur le site du projet

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster