RTI Connext .NET API (legacy)
Version 6.1.1
|
<<extension>> Settings related to compressing user data. More...
#include <managed_infrastructure.h>
Public Attributes | |
System::UInt32 | compression_ids |
<<extension>> Mask that represents the compression algorithms enabled. More... | |
System::UInt32 | writer_compression_level |
<<extension>> The level of compression to use when compressing data. More... | |
System::Int32 | writer_compression_threshold |
<<extension>> The threshold, in bytes, above which a serialized sample will be eligible to be compressed. More... | |
Static Public Attributes | |
static System::UInt32 | COMPRESSION_ID_ZLIB = DDS_COMPRESSION_ID_ZLIB |
<<extension>> Corresponds to the ID of the compression algorithm ZLIB. This is the only built-in compression algorithm that is supported when batching is enabled. More... | |
static System::UInt32 | COMPRESSION_ID_BZIP2 = DDS_COMPRESSION_ID_BZIP2 |
<<extension>> Corresponds to the ID of the compression algorithm BZIP2. More... | |
static System::UInt32 | COMPRESSION_ID_LZ4 = DDS_COMPRESSION_ID_LZ4 |
<<extension>> Corresponds to the ID of the compression algorithm LZ4. More... | |
static System::UInt32 | COMPRESSION_ID_MASK_NONE = DDS_COMPRESSION_ID_MASK_NONE |
<<extension>> System::Int32 used to disable user-data compression for an endpoint. More... | |
static System::UInt32 | COMPRESSION_ID_MASK_ALL = DDS_COMPRESSION_ID_MASK_ALL |
<<extension>> System::Int32 mask with all the suported built-in compression algorithms enabled. More... | |
static System::UInt32 | COMPRESSION_ID_MASK_PUBLICATION_DEFAULT = DDS_COMPRESSION_ID_MASK_PUBLICATION_DEFAULT |
<<extension>> System::Int32 mask with the default value for publication. More... | |
static System::UInt32 | COMPRESSION_ID_MASK_SUBSCRIPTION_DEFAULT = DDS_COMPRESSION_ID_MASK_SUBSCRIPTION_DEFAULT |
<<extension>> System::Int32 mask with the default value for subscription. More... | |
static System::UInt32 | COMPRESSION_LEVEL_DEFAULT = DDS_COMPRESSION_LEVEL_DEFAULT |
<<extension>> Default level of compression. More... | |
static System::UInt32 | COMPRESSION_LEVEL_BEST_COMPRESSION = DDS_COMPRESSION_LEVEL_BEST_COMPRESSION |
<<extension>> The best compression ratio possible for a compression algorithm. More... | |
static System::UInt32 | COMPRESSION_LEVEL_BEST_SPEED = DDS_COMPRESSION_LEVEL_BEST_SPEED |
<<extension>> The best compression speed possible for a compression algorithm. More... | |
<<extension>> Settings related to compressing user data.
System::UInt32 DDS::CompressionSettings_t::compression_ids |
<<extension>> Mask that represents the compression algorithms enabled.
A bitmap that represents the compression algorithm IDs (System::Int32) that are supported by the endpoint. The DDS::DataWriter creation will fail if more than one algorithm is provided.
If a DDS::DataWriter inherits multiple compression IDs from a DDS::Topic, only the least significant bit enabled will be inherited. This forces the following order of preference: DDS::CompressionSettings_t::COMPRESSION_ID_ZLIB, DDS::CompressionSettings_t::COMPRESSION_ID_BZIP2, DDS::CompressionSettings_t::COMPRESSION_ID_LZ4.
Interactions with Security and Batching: Currently, the only algorithm that is supported when compression and batching are enabled on the same DDS::DataWriter is DDS::CompressionSettings_t::COMPRESSION_ID_ZLIB.
The combination of compression, batching and data protection is not supported. Please consider using RTPS protection instead of data protection if compression and batching are required. The reason behind this restriction is that when using batching, compression is applied to the entire batch, while data protection is applied to each of the batch samples individually. Compressing already encrypted data results in an expansion of the data instead of a reduction of it because encrypted data does not lend itself to compression. Therefore this combination is not supported and will result in a DataWriter creation error.
Note: When DDS::DataWriterProtocolQosPolicy::serialize_key_with_dispose is enabled and a dispose message is sent, the serialized key is not compressed.
[default] For DDS::Topic, DDS::DataWriter a System::Int32 mask set to DDS::CompressionSettings_t::COMPRESSION_ID_MASK_NONE
[default] For DDS::DataReader a System::Int32 mask set to DDS::CompressionSettings_t::COMPRESSION_ID_MASK_ALL.
System::UInt32 DDS::CompressionSettings_t::writer_compression_level |
<<extension>> The level of compression to use when compressing data.
Compression algorithms typically allow you to choose a level with which to compress the data. Each level has trade-offs between the resulting compression ratio and the speed of compression.
[range] [0, 10]
The value 1 represents the fastest compression time and the lowest compression ratio. The value 10 represents the slowest compression time but the highest compression ratio.
A value of 0 disables compression.
[default] DDS::CompressionSettings_t::COMPRESSION_LEVEL_BEST_COMPRESSION
System::Int32 DDS::CompressionSettings_t::writer_compression_threshold |
<<extension>> The threshold, in bytes, above which a serialized sample will be eligible to be compressed.
Any sample with a serialized size greater than or equal to the threshold will be eligible to be compressed. All samples with an eligible serialized size will be compressed. Only if the compressed size is smaller than the serialized size will the sample be stored and sent compressed on the wire.
For batching we check the maximum serialized size of the batch, calculated as serialized_sample_max_size * DDS::BatchQosPolicy::max_samples
[range] [0, 2147483647] or DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED
Setting the threshold to DDS::ResourceLimitsQosPolicy::LENGTH_UNLIMITED disables the compression.
[default] DDS::CompressionSettings_t::COMPRESSION_THRESHOLD_DEFAULT (8192)
|
static |
<<extension>> Corresponds to the ID of the compression algorithm ZLIB. This is the only built-in compression algorithm that is supported when batching is enabled.
|
static |
<<extension>> Corresponds to the ID of the compression algorithm BZIP2.
|
static |
<<extension>> Corresponds to the ID of the compression algorithm LZ4.
|
static |
<<extension>> System::Int32 used to disable user-data compression for an endpoint.
|
static |
<<extension>> System::Int32 mask with all the suported built-in compression algorithms enabled.
|
static |
<<extension>> System::Int32 mask with the default value for publication.
|
static |
<<extension>> System::Int32 mask with the default value for subscription.
|
static |
<<extension>> Default level of compression.
|
static |
<<extension>> The best compression ratio possible for a compression algorithm.
|
static |
<<extension>> The best compression speed possible for a compression algorithm.