|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
Message compression and decompression pipeline. More...
#include <compression_pipeline.h>

Classes | |
| class | impl |
Public Member Functions | |
| compression_pipeline (compression_algorithm algo=compression_algorithm::lz4, size_t compression_threshold=256) | |
| Constructs a compression pipeline. | |
| ~compression_pipeline () noexcept | |
| Destructor. | |
| auto | compress (std::span< const uint8_t > input) -> Result< std::vector< uint8_t > > |
| Compresses input data. | |
| auto | compress (const std::vector< uint8_t > &input) -> Result< std::vector< uint8_t > > |
| Compresses input data (vector overload) | |
| auto | decompress (std::span< const uint8_t > input) -> Result< std::vector< uint8_t > > |
| Decompresses input data. | |
| auto | decompress (const std::vector< uint8_t > &input) -> Result< std::vector< uint8_t > > |
| Decompresses input data (vector overload) | |
| auto | set_compression_threshold (size_t bytes) -> void |
| Sets compression threshold. | |
| auto | get_compression_threshold () const -> size_t |
| Gets current compression threshold. | |
| auto | get_algorithm () const -> compression_algorithm |
| Gets current algorithm. | |
Private Attributes | |
| std::unique_ptr< impl > | pimpl_ |
Message compression and decompression pipeline.
Definition at line 63 of file compression_pipeline.h.
|
explicit |
Constructs a compression pipeline.
| algo | Compression algorithm to use |
| compression_threshold | Minimum size to compress (bytes) |
Definition at line 448 of file compression_pipeline.cpp.
|
defaultnoexcept |
Destructor.
| auto kcenon::network::utils::compression_pipeline::compress | ( | const std::vector< uint8_t > & | input | ) | -> Result<std::vector<uint8_t>> |
Compresses input data (vector overload)
| input | Data to compress |
Definition at line 462 of file compression_pipeline.cpp.
| auto kcenon::network::utils::compression_pipeline::compress | ( | std::span< const uint8_t > | input | ) | -> Result<std::vector<uint8_t>> |
Compresses input data.
| input | Data to compress |
If input size is below threshold, returns uncompressed data. If compression fails or produces larger output, returns uncompressed data.
Definition at line 456 of file compression_pipeline.cpp.
| auto kcenon::network::utils::compression_pipeline::decompress | ( | const std::vector< uint8_t > & | input | ) | -> Result<std::vector<uint8_t>> |
Decompresses input data (vector overload)
| input | Data to decompress |
Definition at line 474 of file compression_pipeline.cpp.
| auto kcenon::network::utils::compression_pipeline::decompress | ( | std::span< const uint8_t > | input | ) | -> Result<std::vector<uint8_t>> |
Decompresses input data.
| input | Data to decompress |
Definition at line 468 of file compression_pipeline.cpp.
| auto kcenon::network::utils::compression_pipeline::get_algorithm | ( | ) | const -> compression_algorithm |
Gets current algorithm.
Definition at line 490 of file compression_pipeline.cpp.
References kcenon::network::utils::compression_pipeline::impl::get_algorithm(), and pimpl_.

| auto kcenon::network::utils::compression_pipeline::get_compression_threshold | ( | ) | const -> size_t |
Gets current compression threshold.
Definition at line 485 of file compression_pipeline.cpp.
References kcenon::network::utils::compression_pipeline::impl::get_compression_threshold(), and pimpl_.

| auto kcenon::network::utils::compression_pipeline::set_compression_threshold | ( | size_t | bytes | ) | -> void |
Sets compression threshold.
| bytes | Minimum size to compress |
Definition at line 480 of file compression_pipeline.cpp.
|
private |
Definition at line 135 of file compression_pipeline.h.
Referenced by get_algorithm(), and get_compression_threshold().