OpenDDS 3.34.0

Die Veröffentlichung ist erfolgt OpenDDS 3.34.0 — einer freien C++-Implementierung der Spezifikation Object Management Group Data Distribution Service für Echtzeitsysteme. DDS wird zur Erstellung von verteilten Systemen nach dem Publikations- und Abonnementmodell eingesetzt. OpenDDS bietet neben C++ auch Java/JNI-Bindungen und basiert auf ACE/TAO. Die Veröffentlichung erfolgte am 21. Mai 2026, fertige Archive sind für Windows, Linux und macOS verfügbar.


Das Projekt wird als Open Source verbreitet: OpenDDS kann ohne Lizenzgebühren verwendet, verändert und verteilt werden, wenn die Urheberrechtsbenachrichtigung beibehalten wird; es wird ausdrücklich betont, dass OpenDDS auch bei der Entwicklung proprietärer Software verwendet werden kann, ohne dass der eigene Quellcode offengelegt werden muss.

Die wichtigsten Änderungen in OpenDDS 3.34.0:

  • Die Funktionen von RtpsRelay wurden erweitert. In RtpsRelay können jetzt zusätzliche Parameter zur Laufzeit über den Mechanismus RtpsRelayControl geändert werden. Zudem wurde die Möglichkeit hinzugefügt, eine Liste von Partitionen festzulegen, auf die bestimmte Instanzen von RtpsRelay keinen Zugriff haben. Dies erfolgt über ein neues Topic namens RelayDeniedPartitions. Um die Gültigkeitsdauer eines solchen Verbots zu steuern, gibt es die Option -DeniedPartitionsTimeout.

  • Ein Build-Modus zum Profiling wurde hinzugefügt. Im Skript configure wurde das Flag —profiling hinzugefügt, das typische Kompilierungsparameter zur Leistungsanalyse in GCC einschließt.

  • Callbacks zur Steuerung von OpenDDS-Threads wurden implementiert. Entwickler haben Handler hinzugefügt, die beim Start und beim Beenden von OpenDDS-Threads aufgerufen werden. Dadurch kann das Verhalten der Threads gesteuert werden, beispielsweise die Zuordnung zu bestimmten CPU-Kernen unter Linux.

  • Die Deserialisierung von IDL-Typen wurde optimiert. Alle IDL-Mappings vermeiden nun unnötige SpeicherNullungen für Sequenzen primitiver Typen bei der Deserialisierung von Mustern. Für IDL-to-C++11 ist eine zusätzliche explizite Aktivierung über @OpenDDS::no_init_before_deserialize erforderlich.

  • Die Steuerung der Anzahl der EventDispatcher-Threads wurde hinzugefügt. Es wurden die Parameter DCPSEventDispatcherThreads und die Transporteinstellung event_dispatcher_threads eingeführt. Bei einem Wert von event_dispatcher_threads=0 verwendet der Transport einen gemeinsamen Ereignisdispatcher, anstatt einen eigenen lokalen Dispatcher zu erstellen.

  • TCP-Pufferkonfigurationen wurden hinzugefügt. Für den TCP-Transport wurden die Parameter send_buffer_size und rcv_buffer_size eingeführt. Standardmäßig bleibt die Größe der Socket-Puffer nun der Plattform überlassen, sofern diese Parameter nicht mit positiven Werten angegeben sind.

  • ACE/TAO wurde aktualisiert. Die Abhängigkeiten wurden aktualisiert: ACE 6/TAO 2 wurden von 6.5.23 auf 6.5.24 sowie ACE 8/TAO 4 von 8.0.5 auf 8.0.6 angehoben. Bei der OpenDDS-Bauweise durch CMake ist jetzt die Kombination ACE 8 / TAO 4 die Standardversion.

  • Die nicht verwendete Option RtpsRelay wurde entfernt. Die Option -LogParticipantStatistics wurde aus RtpsRelay entfernt, da sie nicht mehr genutzt wurde.

  • Einstellungen zur Leistungs- und Netzwerkoptimierung. Die Größe des Empfangs-Puffers für Netlink wurde erhöht, und ein großer Teil der dienstleistenden und antwortenden Aufgaben wurde von Reactor-Threads auf die jeweiligen EventDispatcher-Threads verschoben. Dies sollte die Reactor-Threads für das Netzwerklesen entlasten.

  • Fehler im ThreadStatusManager und bei Transportmechanismen wurden behoben. Der ThreadStatusManager nutzt jetzt mehrere Slots mit eigenen Sperren, was die Konkurrenz zwischen Threads verringert. Das Dereferenzieren von Nullzeigern beim Deserialisieren von DynamicData von entfernten Teilnehmern wurde behoben sowie Fehler im Zusammenhang mit der Transportinstanzsuche und der Bearbeitung von allgemeinen lokalen Adressen, die zu falschen Locator-Werten in den Teilnehmer- und Endpunkterklärungen führen konnten.
    <<<<

Neuigkeit auf der Projekt-Website

Quelle: linux.org.ru

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