RTI Connext C API Version 7.2.0
DDS_DynamicDataProperty_t Struct Reference

A collection of attributes used to configure DDS_DynamicData objects. More...

Data Fields

DDS_Long buffer_initial_size
 The initial amount of memory used by the underlying DDS_DynamicData buffer, in bytes. More...
 
DDS_Long buffer_max_size
 The maximum amount of memory that the underlying DDS_DynamicData buffer may use, in bytes. More...
 

Detailed Description

A collection of attributes used to configure DDS_DynamicData objects.

To ensure that new objects are initialized to known values, assign them with the static initializer DDS_DynamicDataProperty_t_INITIALIZER.

See also
DDS_DynamicDataProperty_t_INITIALIZER

Field Documentation

◆ buffer_initial_size

DDS_Long 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

DDS_Long 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