![]() |
Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
|
DEMO |
Bundled Snappy compression codec (header-only, no external dependency). More...
#include <snappy.hpp>
Public Member Functions | |
| expected< std::vector< uint8_t > > | compress (const uint8_t *data, size_t size) const override |
| Snappy-compress the input data. | |
| expected< std::vector< uint8_t > > | decompress (const uint8_t *data, size_t size, size_t uncompressed_size) const override |
| Snappy-decompress the input data. | |
Metadata | |
| Compression | codec_type () const override |
| Return Compression::SNAPPY. | |
| const char * | name () const override |
| Return the codec name "snappy". | |
Public Member Functions inherited from signet::forge::CompressionCodec | |
| virtual | ~CompressionCodec ()=default |
| Virtual destructor for safe polymorphic deletion. | |
Bundled Snappy compression codec (header-only, no external dependency).
Implements both compression and decompression of the Snappy block format used by Apache Parquet. The compressor uses a single-pass greedy hash-chain matching strategy with a 16384-entry hash table. Worst-case expansion is approximately 1.004x the input size.
Register with the CodecRegistry via register_snappy_codec().
Definition at line 241 of file snappy.hpp.
|
inlineoverridevirtual |
Return Compression::SNAPPY.
Implements signet::forge::CompressionCodec.
Definition at line 585 of file snappy.hpp.
|
inlineoverridevirtual |
Snappy-compress the input data.
The output contains a varint-encoded uncompressed length preamble followed by a sequence of literal and copy elements.
| data | Pointer to the uncompressed input bytes. |
| size | Number of bytes to compress. |
Implements signet::forge::CompressionCodec.
Definition at line 251 of file snappy.hpp.
|
inlineoverridevirtual |
Snappy-decompress the input data.
The Snappy stream contains its own uncompressed-length preamble; this method verifies that it agrees with the Parquet-declared uncompressed_size. A mismatch is reported as ErrorCode::CORRUPT_PAGE.
| data | Pointer to the Snappy-compressed input bytes. |
| size | Number of compressed bytes. |
| uncompressed_size | Expected decompressed size (from the Parquet page header). |
Implements signet::forge::CompressionCodec.
Definition at line 360 of file snappy.hpp.
|
inlineoverridevirtual |
Return the codec name "snappy".
Implements signet::forge::CompressionCodec.
Definition at line 590 of file snappy.hpp.