Modules | |
Octets Built-in Type | |
Built-in type consisting of a variable-length array of opaque bytes. | |
KeyedOctets Built-in Type | |
Built-in type consisting of a variable-length array of opaque bytes and a string that is the key. | |
KeyedString Built-in Type | |
Built-in type consisting of a string payload and a second string that is the key. | |
String Built-in Type | |
Built-in type consisting of a single character string. |
The middleware provides four built-in types:
The built-in types are very simple in order to get you up and running as quickly as possible. If you need a structured data type you can define your own type with exactly the fields you need in one of two ways:
For builtin types, the maximum size of the buffers/samples and depends on the nature of the application using the builtin type.
You can configure the maximum size of the builtin types on a per-DataWriter and per-DataReader basis using the DDS::PropertyQosPolicy in DataWriters, DataReaders or Participants.
The following table lists the supported builtin type properties to configure memory allocation. When the properties are defined in the DomainParticipant, they are applicable to all DataWriters and DataReaders belonging to the DomainParticipant unless they are overwrittem in the DataWriters and DataReaders.
Property | Description |
---|---|
dds.builtin_type.string.alloc_size | Maximum size of the strings published by the DDS::StringDataWriter or received the DDS::StringDataReader (includes the NULL-terminated character). Default: dds.builtin_type.string.max_size if defined. Otherwise, 1024. |
dds.builtin_type.keyed_string.alloc_key_size | Maximum size of the keys used by the DDS::KeyedStringDataWriter or DDS::KeyedStringDataReader (includes the NULL-terminated character). Default: dds.builtin_type.keyed_string.max_key_size if defined. Otherwise, 1024. |
dds.builtin_type.keyed_string.alloc_size | Maximum size of the strings published by the DDS::KeyedStringDataWriter or received by the DDS::KeyedStringDataReader (includes the NULL-terminated character). Default: dds.builtin_type.keyed_string.max_size if defined. Otherwise, 1024. |
dds.builtin_type.octets.alloc_size | Maximum size of the octet sequences published the DDS::BytesDataWriter or received by the DDS::BytesDataReader. Default: dds.builtin_type.octets.max_size if defined. Otherwise, 2048. |
dds.builtin_type.keyed_octets.alloc_key_size | Maximum size of the key published by the DDS::KeyedOctetsDataWriter or received by the DDS::KeyedBytesDataReader (includes the NULL-terminated character). Default: dds.builtin_type.keyed_octets.max_key_size if defined. Otherwise, 1024. |
dds.builtin_type.keyed_octets.alloc_size | Maximum size of the octets sequences published by a DDS::KeyedOctetsDataWriter or received by a DDS::KeyedBytesDataReader. Default: dds.builtin_type.keyed_octets.max_size if defined. Otherwise, 2048. |
The previous properties must be set consistently with respect to the corresponding *.max_size properties that set the maximum size of the builtin types in the typecode.
module DDS { struct String { string value; }; struct KeyedString { string key; string value; }; struct Octets { sequence<octet> value; }; struct KeyedOctets { string key; sequence<octet> value; }; };
The maximum size of the strings and sequences that will be included in the type code definitions can be configured on a per-DomainParticipant-basis by using the properties in following table.
Property | Description |
---|---|
dds.builtin_type.string.max_size | Maximum size of the strings published by the StringDataWriters and received by the StringDataReaders belonging to a DomainParticipant (includes the NULL-terminated character). Default: 1024. |
dds.builtin_type.keyed_string.max_key_size | Maximum size of the keys used by the KeyedStringDataWriters and KeyedStringDataReaders belonging to a DomainParticipant (includes the NULL-terminated character). Default: 1024. |
dds.builtin_type.keyed_string.max_size | Maximum size of the strings published by the KeyedStringDataWriters and received by the KeyedStringDataReaders belonging to a DomainParticipant using the builtin type (includes the NULL-terminated character). Default: 1024 |
dds.builtin_type.octets.max_size | Maximum size of the octet sequences published by the OctetsDataWriters and received by the OctetsDataReader belonging to a DomainParticipant. Default: 2048 |
dds.builtin_type.keyed_octets.max_key_size | Maximum size of the keys used by the KeyedOctetsStringDataWriters and KeyedOctetsStringDataReaders belonging to a DomainParticipant (includes the NULL-terminated character). Default: 1024. |
dds.builtin_type.keyed_octets.max_size | Maximum size of the octet sequences published by the KeyedOctetsDataWriters and received by the KeyedOctetsDataReaders belonging to a DomainParticipant. Default: 2048 |
For more information about the built-in types, including how to control memory usage and maximum lengths, please see chapter 3, Data Types and Data Samples, in the RTI Data Distribution Service User's Manual.