ICompressedReader implementation that decompresses LZ4 (https://lz4.github.io/lz4/) data.
More...
#include <reader.hpp>
ICompressedReader implementation that decompresses LZ4 (https://lz4.github.io/lz4/) data.
Definition at line 191 of file reader.hpp.
◆ LZ4Reader() [1/3]
mcap::LZ4Reader::LZ4Reader |
( |
| ) |
|
◆ LZ4Reader() [2/3]
mcap::LZ4Reader::LZ4Reader |
( |
const LZ4Reader & |
| ) |
|
|
delete |
◆ LZ4Reader() [3/3]
◆ ~LZ4Reader()
mcap::LZ4Reader::~LZ4Reader |
( |
| ) |
|
|
override |
◆ decompressAll()
Status mcap::LZ4Reader::decompressAll |
( |
const std::byte * |
data, |
|
|
uint64_t |
size, |
|
|
uint64_t |
uncompressedSize, |
|
|
ByteArray * |
output |
|
) |
| |
Decompresses an entire LZ4-encoded chunk into output
.
- Parameters
-
data | The LZ4-compressed input chunk. |
size | The size of the LZ4-compressed input. |
uncompressedSize | The size of the data once uncompressed. |
output | The output vector. This will be resized to uncompressedSize to fit the data, or 0 if the decompression encountered an error. |
- Returns
- Status
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ read()
uint64_t mcap::LZ4Reader::read |
( |
std::byte ** |
output, |
|
|
uint64_t |
offset, |
|
|
uint64_t |
size |
|
) |
| |
|
overridevirtual |
This method is called by MCAP reader classes when they need to read a portion of the file.
- Parameters
-
output | A pointer to a pointer to the buffer to write to. This method is expected to either maintain an internal buffer, read data into it, and update this pointer to point at the internal buffer, or update this pointer to point directly at the source data if possible. The pointer and data must remain valid and unmodified until the next call to read(). |
offset | The offset in bytes from the beginning of the file to read. |
size | The number of bytes to read. |
- Returns
- uint64_t Number of bytes actually read. This may be less than the requested size if the end of the file is reached. The output pointer must be readable from
output
to output + size
. If the read fails, this method should return 0.
Implements mcap::IReadable.
◆ reset()
void mcap::LZ4Reader::reset |
( |
const std::byte * |
data, |
|
|
uint64_t |
size, |
|
|
uint64_t |
uncompressedSize |
|
) |
| |
|
overridevirtual |
Reset the reader state, clearing any internal buffers and state, and initialize with new compressed data.
- Parameters
-
data | Compressed data to read from. |
size | Size of the compressed data in bytes. |
uncompressedSize | Size of the data in bytes after decompression. A buffer of this size will be allocated for the uncompressed data. |
Implements mcap::ICompressedReader.
◆ size()
uint64_t mcap::LZ4Reader::size |
( |
| ) |
const |
|
overridevirtual |
Returns the size of the file in bytes.
- Returns
- uint64_t The total number of bytes in the MCAP file.
Implements mcap::IReadable.
◆ status()
Status mcap::LZ4Reader::status |
( |
| ) |
const |
|
overridevirtual |
◆ compressedData_
const std::byte* mcap::LZ4Reader::compressedData_ |
|
private |
◆ compressedSize_
uint64_t mcap::LZ4Reader::compressedSize_ |
|
private |
◆ decompressionContext_
void* mcap::LZ4Reader::decompressionContext_ = nullptr |
|
private |
◆ status_
Status mcap::LZ4Reader::status_ |
|
private |
◆ uncompressedData_
◆ uncompressedSize_
uint64_t mcap::LZ4Reader::uncompressedSize_ |
|
private |
The documentation for this class was generated from the following file: