View Source KafkaEx.Compression (kafka_ex v0.13.0)
Handles compression/decompression of messages.
To add new compression types:
- Add the appropriate dependency to mix.exs (don't forget to add it to the application list).
- Add the appropriate attribute value and compression_type atom.
- Add a decompress function clause.
- Add a compress function clause.
Link to this section Summary
Functions
This function should pattern match on the compression_type atom and return the compressed data as well as the corresponding attribute value.
This function should pattern match on the attribute value and return the decompressed data.
Link to this section Types
@type attribute_t() :: integer()
@type compression_type_t() :: :snappy | :gzip
Link to this section Functions
@spec compress(compression_type_t(), binary()) :: {binary(), attribute_t()}
This function should pattern match on the compression_type atom and return the compressed data as well as the corresponding attribute value.
@spec decompress(attribute_t(), binary()) :: binary()
This function should pattern match on the attribute value and return the decompressed data.