RTI Connext Java API  Version 6.1.1
DynamicDataProperty_t Class Reference

A collection of attributes used to configure com.rti.dds.dynamicdata.DynamicData objects. More...

Public Member Functions

 DynamicDataProperty_t ()
 The constructor. More...
 
 DynamicDataProperty_t (int buffer_initial_size, int buffer_max_size, int buffer_max_size_increment, Charset string_character_encoding)
 Constructor accepting an alternative string encoding. More...
 
 DynamicDataProperty_t (int buffer_initial_size, int buffer_max_size, int buffer_max_size_increment)
 The constructor. More...
 

Public Attributes

int buffer_initial_size = 0
 The initial amount of memory used by the underlying com.rti.dds.dynamicdata.DynamicData buffer, in bytes. More...
 
int buffer_max_size = ResourceLimitsQosPolicy.LENGTH_UNLIMITED
 The maximum amount of memory that the underlying com.rti.dds.dynamicdata.DynamicData buffer may use, in bytes. More...
 
Charset string_character_encoding = StandardCharsets.UTF_8
 String encoding that this com.rti.dds.dynamicdata.DynamicData object will use internally. More...
 

Detailed Description

A collection of attributes used to configure com.rti.dds.dynamicdata.DynamicData objects.

Constructor & Destructor Documentation

◆ DynamicDataProperty_t() [1/3]

The constructor.

◆ DynamicDataProperty_t() [2/3]

DynamicDataProperty_t ( int  buffer_initial_size,
int  buffer_max_size,
int  buffer_max_size_increment,
Charset  string_character_encoding 
)

◆ DynamicDataProperty_t() [3/3]

DynamicDataProperty_t ( int  buffer_initial_size,
int  buffer_max_size,
int  buffer_max_size_increment 
)

Member Data Documentation

◆ buffer_initial_size

int buffer_initial_size = 0

The initial amount of memory used by the underlying com.rti.dds.dynamicdata.DynamicData buffer, in bytes.

This property is used to configure the DynamicData objects that are created stand-alone as well as the DynamicData samples that are obtained from the sample pool that is created by each DynamicData DataReader.

If set to 0 (default): The initial buffer size will be set to the minimum amount of space required to hold the overhead required by the DynamicData internal representation (about 100 bytes) in addition to the minimum deserialized size of a sample. The minimum deserialized size of a sample assumes that all strings are allocated to their default values, sequences are left to length 0, and all optional members are unset.

If set to any value other than 0: The underlying buffer will be allocated to the provided size plus the overhead required by the DynamicData internal representation (about 100 bytes). If the provided size plus the overhead is less than the size used when buffer_initial_size is left to 0, then the default value is used.

See also
com.rti.dds.dynamicdata.DynamicDataProperty_t.buffer_max_size

Referenced by DynamicData.DynamicData(), DynamicDataProperty_t.DynamicDataProperty_t(), DynamicDataTypeProperty_t.DynamicDataTypeProperty_t(), and DynamicDataTypeSupport.DynamicDataTypeSupport().

◆ buffer_max_size

The maximum amount of memory that the underlying com.rti.dds.dynamicdata.DynamicData buffer may use, in bytes.

This property is used to configure the DynamicData objects that are created stand-alone as well as the DynamicData samples that are obtained from the sample pool that is created by each DynamicData DataReader.

A DynamicData object will grow to this size from the initial size as needed. The buffer_max_size includes all overhead that is required for the internal DynamicData representation and therefore represents a hard upper limit on the size of the underlying DynamicData buffer.

If set to -1 (default): The buffer will grow unbounded to the size required to fit all members.

If set to any value other than -1: The buffer will not grow beyond this size. If setting a member's values requires the buffer to grow beyond this maximum, the member will fail to be set. If the buffer is required to grow beyond this maximum during deserialization, the sample will fail to be deserialized. The buffer_max_size cannot be smaller than the buffer_initial_size.

See also
com.rti.dds.dynamicdata.DynamicDataProperty_t.buffer_initial_size

Referenced by DynamicData.DynamicData(), DynamicDataProperty_t.DynamicDataProperty_t(), DynamicDataTypeProperty_t.DynamicDataTypeProperty_t(), and DynamicDataTypeSupport.DynamicDataTypeSupport().

◆ string_character_encoding

Charset string_character_encoding = StandardCharsets.UTF_8

String encoding that this com.rti.dds.dynamicdata.DynamicData object will use internally.

This com.rti.dds.dynamicdata.DynamicData object will store IDL strings with the encoding configured by this field.

In addition, IDL strings will be serialized with this encoding when sent on the wire.

Currently, only encodings ISO-8859-1 and UTF-8 are supported.

In Java 1.7 and above, the Charset objects corresponding to these encodings can be obtained from java.nio.charset.StandardCharsets.

In previous Java versions, you can invoke Charset.availableCharsets().get(name) where name can be ISO-8859-1 and UTF-8.

[default] UTF_8

Referenced by DynamicDataProperty_t.DynamicDataProperty_t(), and DynamicDataTypeProperty_t.DynamicDataTypeProperty_t().