OpenDDS 3.1 now available for download

OpenDDS version 3.1 is now available for download. Please see the OpenDDS website for the download.

An updated version of the OpenDDS Developer's Guide is available from the same site in PDF format.

Features added and bugs/fixes in this OpenDDS version: (For full change information see the NEWS and ChangeLog files within the source distribution)

  • This release includes the initial implementation of DDS Interoperability in OpenDDS, using the DDS-RTPS spec v2.1 from the OMG (formal/2010-11-01).  RTPS support in OpenDDS consists of two main features:
    • A pluggable transport implementation, known as "rtps_udp" because it implements the UDP PSM of the DDS-RTPS spec.  This is a peer of the existing OpenDDS-native transports: "tcp", "udp", and "multicast".
    • A new discovery mechanism for RTPS's distributed discovery.  Thiscan replace the DCPSInfoRepo in existing OpenDDS deployments.

Neither of these features is enabled by default.  See the OpenDDS Developer's Guide chapter 7 for configuration details.  Also, note that not every OpenDDS feature (for example, certain QoS values) is supported with RTPS in the initial implementation.  These exceptions are documented in the Developer's Guide sections 7.3.3 and 7.4.5.5.

  • Changed set_qos() of DataWriter, DataReader, Publisher and Subscriber so when provided a QoS value incompatible with an existing association, that the value will be changed, association will be broken, and RETCODE_OK returned.  Previously, if any association would be broken, no change would take place and false would be returned. New version is compatible with DDS spec.
  • OpenDDS udp transport enhancements:
    • Added send_buffer_size and rcv_buffer_size parameters to the udp       transport configuration.
    • The default local address will use DNS host names instead of IP       addresses.
    • Added support for IPv6 when ACE is built with IPv6 support.
  • OpenDDS multicast transport enhancements:
    • Added a configuration parameter "async_send" (defaults to false) that will send multicast datagrams using async I/O if supported by the platform.  As of now this is only implemented on Windows.  It could be extended to Unix aio_*() functions in theory, but these are generally not preferred and the regular socket functions are sufficiently fast.
  • Removed DataReaderQosExt from DdsDcpsSubscriptionExt.idl.  This was   only being used to provide a non-standard-compliant backwards-compatibility setting to get the DURABILITY QoS behavior matching that of OpenDDS v1.2 and earlier.  It was not being used in any OpenDDS code.