RTI Connext Java API  Version 5.3.1
 All Classes Namespaces Functions Variables Groups Pages
Package com.rti.dds.type.builtin

RTI Connext provides a set of very simple data types for you to use with the topics in your application. More...

Classes

class  Bytes
 Built-in type consisting of a variable-length array of opaque bytes. More...
 
class  BytesDataReader
 <<interface>> Instantiates DataReader < com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes >. More...
 
class  BytesDataWriter
 <<interface>> Instantiates DataWriter < com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes >. More...
 
class  BytesSeq
 Instantiates com.rti.dds.infrastructure.com.rti.dds.util.Sequence < com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes > . More...
 
class  BytesTypeSupport
 <<interface>> com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes type support. More...
 
class  KeyedBytes
 Built-in type consisting of a variable-length array of opaque bytes and a string that is the key. More...
 
class  KeyedBytesDataReader
 <<interface>> Instantiates DataReader < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes >. More...
 
class  KeyedBytesDataWriter
 <<interface>> Instantiates DataWriter < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes >. More...
 
class  KeyedBytesSeq
 Instantiates com.rti.dds.infrastructure.com.rti.dds.util.Sequence < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes >. More...
 
class  KeyedBytesTypeSupport
 <<interface>> com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes type support. More...
 
class  KeyedString
 Keyed string built-in type. More...
 
class  KeyedStringDataReader
 <<interface>> Instantiates DataReader < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedString >. More...
 
class  KeyedStringDataWriter
 <<interface>> Instantiates DataWriter < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedString >. More...
 
class  KeyedStringSeq
 Instantiates com.rti.dds.infrastructure.com.rti.dds.util.Sequence < com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedString > . More...
 
class  KeyedStringTypeSupport
 <<interface>> Keyed string type support. More...
 
class  StringDataReader
 <<interface>> Instantiates DataReader < com.rti.dds.infrastructure.String >. More...
 
class  StringDataWriter
 <<interface>> Instantiates DataWriter < com.rti.dds.infrastructure.String >. More...
 
class  StringTypeSupport
 <<interface>> String type support. More...
 

Detailed Description

RTI Connext provides a set of very simple data types for you to use with the topics in your application.

The middleware provides four built-in types:

  • String: A payload consisting of a single string of characters. This type has no key.
  • com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedString: A payload consisting of a single string of characters and a second string, the key, that identifies the instance to which the sample belongs.
  • com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes: A payload consisting of an opaque variable-length array of bytes. This type has no key.
  • com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes: A payload consisting of an opaque variable-length array of bytes and a string, the key, that identifies the instance to which the sample belongs.

The String and com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedString types are appropriate for simple text-based applications. The com.rti.dds.type.builtin.com.rti.dds.type.builtin.Bytes and com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytes types are appropriate for applications that perform their own custom data serialization, such as legacy applications still in the process of migrating to RTI Connext. In most cases, string-based or structured data is preferable to opaque data, because the latter cannot be easily visualized in tools or used with content-based filters (see com.rti.dds.topic.ContentFilteredTopic).

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:

  • At compile time, by generating code from an IDL or XML file using the rtiddsgen utility
  • At runtime, by using the Dynamic Data API

Managing Memory for Builtin Types

When a sample is written, the DataWriter serializes it and stores the result in a buffer obtained from a pool of preallocated buffers. In the same way, when a sample is received, the DataReader deserializes it and stores the result in a sample coming from a pool of preallocated samples.

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 com.rti.dds.infrastructure.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.

Builtin Types Allocation Properties
Property Description
dds.builtin_type.string.alloc_size

Maximum size of the strings published by the com.rti.dds.type.builtin.StringDataWriter or received the com.rti.dds.type.builtin.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 com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedStringDataWriter or com.rti.dds.type.builtin.com.rti.dds.type.builtin.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 com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedStringDataWriter or received by the com.rti.dds.type.builtin.com.rti.dds.type.builtin.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 com.rti.dds.type.builtin.com.rti.dds.type.builtin.BytesDataWriter or received by the com.rti.dds.type.builtin.com.rti.dds.type.builtin.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 com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytesDataWriter or received by the com.rti.dds.type.builtin.com.rti.dds.type.builtin.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 com.rti.dds.type.builtin.com.rti.dds.type.builtin.KeyedBytesDataWriter or received by a com.rti.dds.type.builtin.com.rti.dds.type.builtin.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.

Typecodes for Builtin Types

The typecodes associated with the builtin types are generated from the following IDL type definitions:

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.

Properties for Allocating Size of Builtin Types, per DomainParticipant
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 User's Manual.


RTI Connext Java API Version 5.3.1 Copyright © Mon Feb 19 2018 Real-Time Innovations, Inc