LimitationsΒΆ
Beyond the features provided by Safe DDS, there are some limitations that should be taken into account when using the library:
The following QoS are taken into account for DDS matching procedures but they will only accept default values when creating Safe DDS entities:
Ownership
Destination Order
Partition
Lifecycle
Any other OMG DDS QoS policy not mentioned is not available in Safe DDS.
Safe DDS does not support modifying any QoS policy after the creation of an entity.
DataReader, DataWriter and Topics will only accept TypeSupports that handle memory-bounded types.
Safe DDS does not support the creation of new entities after the DomainParticipant has been enabled.
Safe DDS does not support the creation of new DomainParticipants after the creation of the default executor of the DomainParticipantFactory.
Safe DDS does not support the deletion of entities, although it can notify the disappearance of a whole factory with all its subentities.
Safe DDS does not support the automatic scan of network interfaces.
Safe DDS is an execution context agnostic library and it is not thread-safe by default.
DomainParticipant supports up to 4 announcement locators.
DataReader only supports one optional unicast locator and one optional multicast locator.
DataWriter only supports one optional unicast locator.
DomainParticipantFactory has a maximum of 256 created DomainParticipants.
Topic has a maximum of 255 associated local DataReaders.
Static APIs may not comply with the OMG DDS standard defined API.
Safe DDS does not yet support any feature of OMG DDS-Security standard.
Safe DDS discovery does not implement fragmentation of incoming data, nor in outgoing Participant Discovery Data.
With respect to Safe DDS Gen, the supported feature set is restricted to the following:
Primitive types.
Structures.
Arrays.
Bounded sequences.
Bounded strings.
Modules.
Include directives.
Key annotation.
Optional members.
Enumerations.
Final, appendable, and mutable extensibility.
Unions.
Typedefs.
Forward declarations.
Consts.
Empty structs.
Maps.
External basic types and strings.
External sequences and arrays of basic types.
That means that among other features, Safe DDS Gen does not yet support:
Unbounded types.
Bitsets.
Bitmasks.