OpenDDS 3.34.0

Състояния на релиза OpenDDS 3.34.0 — свободно C++ изпълнение на спецификацията Data Distribution Service за реални системи от Object Management Group. DDS се използва за построяване на разпределени системи по модела за публикуване и абониране, докато самият OpenDDS, освен C++, предоставя Java/JNI връзки и се основава на ACE/TAO. Версията е публикувана 21 май 2026 година, готови архиви достъпни за Windows, Linux и macOS.


Проектът се разпространява като open source: OpenDDS може да се използва, променя и разпространява без лицензионни такси при запазване на уведомлението за авторски права; отделно се подчертава, че OpenDDS може да се прилага и при разработката на проприетарен софтуер без задължение за разкриване на собствения изходен код.

Основни промени в OpenDDS 3.34.0:

  • Разширени възможности на RtpsRelay. В RtpsRelay сега могат да се променят допълнителни параметри по време на изпълнение чрез механизма RtpsRelayControl. Също така е добавена възможност за задаване на списък сpartition, достъпът до които ще бъде забранен за конкретен екземпляр на RtpsRelay, чрез нов категория RelayDeniedPartitions. За управление на срока на действие на такава забрана е добавена опция -DeniedPartitionsTimeout.

  • Добавен режим на компилация за профилиране. В конфигурационния скрипт е добавен флаг —profiling, който включва типични параметри за компилация за анализ на производителността в GCC.

  • Появиха се callbacks за управление на потоковете на OpenDDS. Разработчиците добавиха обработчици, извиквани при стартиране и приключване на потоковете OpenDDS. Това позволява управление на поведението на потоковете, например за закрепване на конкретни ядра CPU в Linux.

  • Оптимизирана десериализация на IDL типове. Всички IDL-мапинги сега се стремят да избягват излишно нулиране на паметта за последователности от примитивни типове при десериализация на образци. За IDL-to-C++11 е необходимо допълнително явно включване чрез @OpenDDS::no_init_before_deserialize.

  • Добавено управление на броя на потоковете EventDispatcher. Въведени са параметри DCPSEventDispatcherThreads и транспортна настройка event_dispatcher_threads. При стойност event_dispatcher_threads=0 транспортът ще използва общ диспетчер на събития вместо да създава собствен локален диспетчер.

  • Добавени са настройки за TCP буфери. За TCP транспорта са добавени параметри send_buffer_size и rcv_buffer_size. По подразбиране размерът на socket буферите сега се оставя на преценката на платформата, ако тези параметри не са зададени с положителни стойности.

  • Обновени ACE/TAO. Обновени зависимости: ACE 6/TAO 2 са повдигнати от 6.5.23 до 6.5.24, а ACE 8/TAO 4 — от 8.0.5 до 8.0.6. При сборка на OpenDDS чрез CMake, версията на ACE/TAO по подразбиране вече е свързването ACE 8 / TAO 4.

  • Премахната е неизползвана опция RtpsRelay. От RtpsRelay е премахната опцията -LogParticipantStatistics, тъй като тя не се е използвала.

  • Корекции в производителността и мрежовата работа. Увеличен е размерът на receive buffer за netlink, а значителна част от обслужващите и отговорни задачи е прехвърлена от Reactor потокове на съответстващите EventDispatcher потоци. Това трябва да облекчи Reactor потоковете за мрежово четене.

  • Отстранени са грешки в ThreadStatusManager и транспортите. ThreadStatusManager сега използва няколко слота със свои блокировки, което намалява конкуренцията между потоковете. Отстранено е разыменоването на нулев указател при десериализация на DynamicData от премахнат участник, както и грешки при търсене на транспортна инстанция и работа с общи локални адреси, които могат да доведат до неверни locator-стойности в обявленията на участниците и endpoint-овете.
    <<<<

Новина на сайта на проекта

Източник: linux.org.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster