K4os.Compression.LZ4
Action performed by encoder using FlushAndEncode method.
Nothing has happened, most likely loading 0 bytes.
Some bytes has been loaded into encoder.
Compression was not possible so bytes has been copied.
Compression succeeded.
Interface of LZ4 decoder used by LZ4 streams.
Block size.
Bytes already decoded and available to be read.
Always smaller than
Decodes previously compressed block and caches decompressed block in decoder.
Returns number of bytes decoded. These bytes can be read with .
Points to compressed block.
Length of compressed block.
Size of the block. Value 0 indicates default block size.
Number of decoded bytes.
Inject already decompressed block and caches it in decoder.
Used with uncompressed-yet-chained blocks and pre-made dictionaries.
These bytes can be read with .
Points to uncompressed block.
Length of uncompressed block.
Number of decoded bytes.
Reads previously decoded bytes. Please note, should be
negative number, pointing to bytes before current head.
Buffer to write to.
Offset in source buffer relatively to current head.
Please note, it should be negative value.
Number of bytes to read.
Interface of LZ4 encoder used by LZ4 streams.
Block size.
Number of bytes read for compression.
Always smaller than
Adds bytes to internal buffer. Increases
Source buffer.
Source buffer length.
Number of bytes topped up. If this function returns 0 it means that buffer
is full ( equals ) and
should be called to flush it.
Encodes bytes in internal buffer (see: , ).
If is true then if encoded buffer is bigger than
source buffer source bytes are copied instead. In such case returned length is negative.
Target buffer.
Target buffer length.
Indicates if copying is allowed.
Length of encoded buffer. Negative if bytes are just copied.
LZ4 decoder used with independent blocks mode. Plase note, that it will fail
if input data has been compressed with chained blocks
( and )
Creates new instance of block decoder.
Block size. Must be equal or greater to one used for compression.
Independent block encoder. Produces larger files but uses less memory and
gives better performance.
Creates new instance of
Compression level.
Block size.
LZ4 decoder handling dependent blocks.
Creates new instance of .
Block size.
Number of extra blocks.
Static class with factory methods to create LZ4 decoders.
Creates appropriate decoder for given parameters.
Dependent blocks.
Block size.
Number of extra blocks.
LZ4 decoder.
Static class with factory method to create LZ4 encoders.
Creates appropriate decoder for given parameters.
Dependent blocks.
Compression level.
Block size.
Number of extra blocks.
LZ4 encoder.
Base class for LZ4 encoders. Provides basic functionality shared by
, ,
and encoders. Do not used directly.
Creates new instance of encoder.
Needs to be true if using dependent blocks.
Block size.
Number of extra blocks.
Encodes single block using appropriate algorithm.
Source buffer.
Source buffer length.
Target buffer.
Target buffer length.
Number of bytes actually written to target buffer.
Copies current dictionary.
Target buffer.
Dictionary length.
Dictionary length.
Functionality of encoders added on top of fixed interface.
Tops encoder up with some data.
Encoder.
Buffer pointer, will be shifted after operation by the number of
bytes actually loaded.
Length of buffer.
true if buffer was topped up, false if no bytes were loaded.
Tops encoder up with some data.
Encoder.
Buffer.
Buffer offset.
Length of buffer.
Number of bytes actually loaded.
Tops encoder up with some data.
Encoder.
Buffer.
Buffer offset, will be increased after operation by the number
of bytes actually loaded.
Length of buffer.
true if buffer was topped up, false if no bytes were loaded.
Encodes all bytes currently stored in encoder into target buffer.
Encoder.
Target buffer.
Offset in target buffer.
Length of target buffer.
if true copying bytes is allowed.
Number of bytes encoder. If bytes were copied than this value is negative.
Encodes all bytes currently stored in encoder into target buffer.
Encoder.
Target buffer.
Offset in target buffer. Will be updated after operation.
Length of target buffer.
if true copying bytes is allowed.
Result of this action. Bytes can be Copied (),
Encoded () or nothing could have
happened ().
Encodes all bytes currently stored in encoder into target buffer.
Encoder.
Target buffer. Will be updated after operation.
Length of buffer.
if true copying bytes is allowed.
Result of this action. Bytes can be Copied (),
Encoded () or nothing could have
happened ().
Tops encoder and encodes content.
Encoder.
Source buffer (used to top up from).
Source buffer length.
Target buffer (used to encode into)
Target buffer length.
Forces encoding even if encoder is not full.
Allows to copy bytes if compression was not possible.
Number of bytes loaded (topped up)
Number if bytes encoded or copied.
Value is 0 if no encoding was done.
Action performed.
Tops encoder and encodes content.
Encoder.
Source buffer (used to top up from).
Offset within source buffer.
Source buffer length.
Target buffer (used to encode into)
Offset within target buffer.
Target buffer length.
Forces encoding even if encoder is not full.
Allows to copy bytes if compression was not possible.
Number of bytes loaded (topped up)
Number if bytes encoded or copied.
Value is 0 if no encoding was done.
Action performed.
Encoded remaining bytes in encoder.
Encoder.
Target buffer.
Target buffer length.
Allows to copy bytes if compression was not possible.
Number if bytes encoded or copied.
Value is 0 if no encoding was done.
Action performed.
Encoded remaining bytes in encoder.
Encoder.
Target buffer.
Offset within target buffer.
Target buffer length.
Allows to copy bytes if compression was not possible.
Number if bytes encoded or copied.
Value is 0 if no encoding was done.
Action performed.
Drains decoder by reading all bytes which are ready.
Decoder.
Target buffer.
Offset within target buffer.
Offset in decoder relatively to decoder's head.
Please note, it should be negative value.
Number of bytes.
Decodes data and immediately drains it into target buffer.
Decoder.
Source buffer (with compressed data, to be decoded).
Source buffer length.
Target buffer (to drained into).
Target buffer length.
Number of bytes actually decoded.
true decoder was drained, false otherwise.
Decodes data and immediately drains it into target buffer.
Decoder.
Source buffer (with compressed data, to be decoded).
Offset within source buffer.
Source buffer length.
Target buffer (to drained into).
Offset within target buffer.
Target buffer length.
Number of bytes actually decoded.
true decoder was drained, false otherwise.
LZ4 encoder using dependent blocks with fast compression.
Creates new instance of
Block size.
Number of extra blocks.
LZ4 encoder using dependent blocks with high compression.
Creates new instance of
Compression level.
Block size.
Number of extra blocks.
Utility class with memory related functions.
1 KiB
2 KiB
4 KiB
8 KiB
16 KiB
32 KiB
64 KiB
128 KiB
256 KiB
512 KiB
1 MiB
4 MiB
Rounds integer value up to nearest multiple of step.
A value.
A step.
Value rounded up.
Copies memory block for to .
Even though it is called "copy" it actually behaves like "move" which
might be potential problem, although it shouldn't as I cannot think about
any situation when "copy" invalid behaviour (forward copy of overlapping blocks)
can be a desired.
The target block address.
The source block address.
Length in bytes.
Copies memory block for to .
It handle "move" semantic properly handling overlapping blocks properly.
The target block address.
The source block address.
Length in bytes.
Copies memory block for to
up to (around) .
It does not handle overlapping blocks and may copy up to 8 bytes more than expected.
The target block address.
The source block address.
The limit (in target block).
Fill block of memory with zeroes.
Address.
Length.
Fills memory block with repeating pattern of a single byte.
Address.
A pattern.
Length.
Copies memory block for to .
This is proper implementation of memcpy (with all weir behaviour for overlapping blocks).
It is slower than "Copy" but may be required if "Copy" causes problems.
The target block address.
The source block address.
Length in bytes.
Copies exactly 8 bytes from source to target.
Target address.
Source address.
Copies exactly 16 bytes from source to target.
Target address.
Source address.
Copies exactly 18 bytes from source to target.
Target address.
Source address.
Allocated block of memory. It is NOT initialized with zeroes.
Size in bytes.
Pointer to allocated block.
Allocated block of memory and fills it with zeroes.
Size in bytes.
Pointer to allocated block.
Free memory allocated previously with or
Reads exactly 1 byte from given address.
Address.
Byte at given address.
Reads exactly 2 bytes from given address.
Address.
2 bytes at given address.
Reads exactly 4 bytes from given address.
Address.
4 bytes at given address.
Reads exactly 8 bytes from given address.
Address.
8 bytes at given address.
Writes exactly 1 byte to given address.
Address.
Value.
Writes exactly 2 bytes to given address.
Address.
Value.
Writes exactly 4 bytes to given address.
Address.
Value.
Writes exactly 8 bytes to given address.
Address.
Value.
Skeleton for class with unmanaged resources.
Implements but also handles proper release in
case was not called.
Determines if object was already disposed.
Throws exception is object has been disposed already. Convenience method.
Thrown if object is already disposed.
Method releasing unmanaged resources.
Method releasing managed resources.
Disposed resources.
true if dispose was explicitly called,
false if called from GC.
Destructor.
Static class exposing LZ4 block compression methods.
Maximum size after compression.
Length of input buffer.
Maximum length after compression.
Compresses data from one buffer into another.
Input buffer.
Length of input buffer.
Output buffer.
Output buffer length.
Compression level.
Number of bytes written, or negative value if output buffer is too small.
Compresses data from one buffer into another.
Input buffer.
Output buffer.
Compression level.
Number of bytes written, or negative value if output buffer is too small.
Compresses data from one buffer into another.
Input buffer.
Input buffer offset.
Input buffer length.
Output buffer.
Output buffer offset.
Output buffer length.
Compression level.
Number of bytes written, or negative value if output buffer is too small.
Decompresses data from given buffer.
Input buffer.
Input buffer length.
Output buffer.
Output buffer length.
Number of bytes written, or negative value if output buffer is too small.
Decompresses data from given buffer.
Input buffer.
Output buffer.
Number of bytes written, or negative value if output buffer is too small.
Decompresses data from given buffer.
Input buffer.
Input buffer offset.
Input buffer length.
Output buffer.
Output buffer offset.
Output buffer length.
Number of bytes written, or negative value if output buffer is too small.
Compression level.
Fast compression.
High compression, level 3.
High compression, level 4.
High compression, level 5.
High compression, level 6.
High compression, level 7.
High compression, level 8.
High compression, level 9.
Optimal compression, level 10.
Optimal compression, level 11.
Maximum compression, level 12.
Pickling support with LZ4 compression.
Compresses input buffer into self-contained package.
Input buffer.
Compression level.
Output buffer.
Compresses input buffer into self-contained package.
Input buffer.
Input buffer offset.
Input buffer length.
Compression level.
Output buffer.
Compresses input buffer into self-contained package.
Input buffer.
Compression level.
Output buffer.
Compresses input buffer into self-contained package.
Input buffer.
Length of input data.
Compression level.
Output buffer.
Decompresses previously pickled buffer (see: .
Input buffer.
Output buffer.
Decompresses previously pickled buffer (see: .
Input buffer.
Input buffer offset.
Input buffer length.
Output buffer.
Decompresses previously pickled buffer (see: .
Input buffer.
Output buffer.
Decompresses previously pickled buffer (see: .
Input buffer.
Input buffer length.
Output buffer.