|
RMQ - RabbitMQ C++ Library
|
A message transformer that compresses messages using zstd. More...
#include <rmqa_compressiontransformer.h>
Public Member Functions | |
| CompressionTransformer (bslma::ManagedPtr< rmqp::MessageTransformer > &impl) | |
| rmqt::Result< bool > | transform (bsl::shared_ptr< bsl::vector< uint8_t > > &data, rmqt::Properties &props) |
| rmqt::Result | inverseTransform (bsl::shared_ptr< bsl::vector< uint8_t > > &data, rmqt::Properties &props) |
| bsl::string | name () const |
Static Public Member Functions | |
| static rmqt::Result< rmqp::MessageTransformer > | create () |
A message transformer that compresses messages using zstd.
CompressionTransformers are typically bound to Producers and Consumers, to process messages before sending and after receiving them.
|
static |
Create an instance of a CompressionTransformer that can be used by a single thread to manage message compression. The function may fail if insufficient memory is available to allocate a compression context.
| rmqt::Result BloombergLP::rmqa::CompressionTransformer::inverseTransform | ( | bsl::shared_ptr< bsl::vector< uint8_t > > & | data, |
| rmqt::Properties & | props | ||
| ) |
Decompresses the given data and props in-place, if they were compressed. If the data is not compressed, it will remain unchanged.
| data | The data to be compressed |
| props | The message properties |
| bsl::string BloombergLP::rmqa::CompressionTransformer::name | ( | ) | const |
Returns the header name used by this transformer to indicate that the message has been compressed.
| rmqt::Result< bool > BloombergLP::rmqa::CompressionTransformer::transform | ( | bsl::shared_ptr< bsl::vector< uint8_t > > & | data, |
| rmqt::Properties & | props | ||
| ) |
Transform the given data and props in-place into compressed form, if possible. The resulting data will never be larger than the original data, and the properties will be updated to indicate that the message has been compressed.
| data | The data to be compressed |
| props | The message properties |