OpenDDS 3.34.0

Освобождаването се състоя OpenDDS 3.34.0 — безплатна C++ имплементация на спецификацията Услуга за разпространение на данни за групово управление на обекти за системи в реално времеDDS се използва за изграждане на разпределени системи, използващи модела публикуване/абониране, а самият OpenDDS, освен C++, предоставя Java/JNI връзки и разчита на ACE/TAO. Версията е публикувана. 21 май 2026 година, готови архиви достъпно за Windows, Linux и macOS.


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

Ключови промени в OpenDDS 3.34.0:

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

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

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

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

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

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

  • 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. Опцията -LogParticipantStatistics е премахната от RtpsRelay, тъй като вече не се използва.

  • Корекции на производителността и мрежата. Размерът на буфера за получаване за netlink е увеличен и значителна част от задачите за обслужване и отговор са преместени от нишките на Reactor към съответните нишки на EventDispatcher. Това би трябвало да намали натоварването на нишките на Reactor за четене от мрежата.

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

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

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

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