RTI Connext .NET API (legacy)  Version 6.1.1
DDS::DynamicDataProperty_t Class Reference

A collection of attributes used to configure DDS::DynamicData objects. More...

#include <managed_dynamicdata.h>

Public Attributes

System::Int32 buffer_initial_size
 The initial amount of memory used by the underlying DDS::DynamicData buffer, in bytes. More...
 
System::Int32 buffer_max_size
 The maximum amount of memory that the underlying DDS::DynamicData buffer may use, in bytes. More...
 
StringEncodingKind string_character_encoding
 String encoding that this DDS::DynamicData object will use internally. More...
 

Detailed Description

A collection of attributes used to configure DDS::DynamicData objects.

Member Data Documentation

◆ buffer_initial_size

System::Int32 DDS::DynamicDataProperty_t::buffer_initial_size

The initial amount of memory used by the underlying DDS::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
DDS::DynamicDataProperty_t::buffer_max_size

◆ buffer_max_size

System::Int32 DDS::DynamicDataProperty_t::buffer_max_size

The maximum amount of memory that the underlying DDS::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
DDS::DynamicDataProperty_t::buffer_initial_size

◆ string_character_encoding

StringEncodingKind DDS::DynamicDataProperty_t::string_character_encoding

String encoding that this DDS::DynamicData object will use internally.

This DDS::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 DDS::StringEncodingKind::ISO_8859_1 and DDS::StringEncodingKind::UTF_8 are supported.

[default] DDS::StringEncodingKind::UTF_8