RTI Connext Modern C++ API Version 7.3.0
rti::core::xtypes::DynamicDataProperty Class Reference

<<extension>> <<value-type>> Specifies the properties of a DynamicData object More...

#include <rti/core/xtypes/DynamicDataProperty.hpp>

Inherits rti::core::NativeValueType< T, NATIVE_T, ADAPTER >.

Public Member Functions

int32_t buffer_initial_size () const
 Getter (see setter with the same name) More...
 
DynamicDataPropertybuffer_initial_size (int32_t value)
 Sets the initial size of the buffer. More...
 
int32_t buffer_max_size () const
 Getter (see setter with the same name) More...
 
DynamicDataPropertybuffer_max_size (int32_t value)
 Sets the maximum size of the buffer. More...
 

Detailed Description

<<extension>> <<value-type>> Specifies the properties of a DynamicData object

Member Function Documentation

◆ buffer_initial_size() [1/2]

int32_t rti::core::xtypes::DynamicDataProperty::buffer_initial_size ( ) const
inline

Getter (see setter with the same name)

◆ buffer_initial_size() [2/2]

DynamicDataProperty & rti::core::xtypes::DynamicDataProperty::buffer_initial_size ( int32_t  value)
inline

Sets the initial size of the buffer.

Parameters
valueThe new initial size of the buffer

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
rti::core::xtypes::DynamicDataProperty::buffer_max_size

◆ buffer_max_size() [1/2]

int32_t rti::core::xtypes::DynamicDataProperty::buffer_max_size ( ) const
inline

Getter (see setter with the same name)

◆ buffer_max_size() [2/2]

DynamicDataProperty & rti::core::xtypes::DynamicDataProperty::buffer_max_size ( int32_t  value)
inline

Sets the maximum size of the buffer.

Parameters
valueThe new maximum size of the buffer

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
rti::core::xtypes::DynamicDataProperty::buffer_initial_size