final class FastLz
extends java.lang.Object
FastLzFrameEncoder
and FastLzFrameDecoder
.
This is refactored code of jfastlz
library written by William Kinney.Modifier and Type | Field and Description |
---|---|
(package private) static byte |
BLOCK_TYPE_COMPRESSED |
(package private) static byte |
BLOCK_TYPE_NON_COMPRESSED |
(package private) static byte |
BLOCK_WITH_CHECKSUM |
(package private) static byte |
BLOCK_WITHOUT_CHECKSUM |
(package private) static int |
CHECKSUM_OFFSET |
private static int |
HASH_LOG |
private static int |
HASH_MASK |
private static int |
HASH_SIZE |
(package private) static int |
LEVEL_1
Level 1 is the fastest compression and generally useful for short data.
|
(package private) static int |
LEVEL_2
Level 2 is slightly slower but it gives better compression ratio.
|
(package private) static int |
LEVEL_AUTO
In this case
compress(byte[], int, int, byte[], int, int) will choose level
automatically depending on the length of the input buffer. |
(package private) static int |
MAGIC_NUMBER |
(package private) static int |
MAX_CHUNK_LENGTH |
private static int |
MAX_COPY |
private static int |
MAX_DISTANCE |
private static int |
MAX_FARDISTANCE |
private static int |
MAX_LEN |
(package private) static int |
MIN_LENGTH_TO_COMPRESSION
Do not call
compress(byte[], int, int, byte[], int, int) for input buffers
which length less than this value. |
private static int |
MIN_RECOMENDED_LENGTH_FOR_LEVEL_2 |
(package private) static int |
OPTIONS_OFFSET |
Modifier | Constructor and Description |
---|---|
private |
FastLz() |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
calculateOutputBufferLength(int inputLength)
The output buffer must be at least 6% larger than the input buffer and can not be smaller than 66 bytes.
|
(package private) static int |
compress(byte[] input,
int inOffset,
int inLength,
byte[] output,
int outOffset,
int proposedLevel)
Compress a block of data in the input buffer and returns the size of compressed block.
|
(package private) static int |
decompress(byte[] input,
int inOffset,
int inLength,
byte[] output,
int outOffset,
int outLength)
Decompress a block of compressed data and returns the size of the decompressed block.
|
private static int |
hashFunction(byte[] p,
int offset) |
private static int |
readU16(byte[] data,
int offset) |
private static final int MAX_DISTANCE
private static final int MAX_FARDISTANCE
private static final int HASH_LOG
private static final int HASH_SIZE
private static final int HASH_MASK
private static final int MAX_COPY
private static final int MAX_LEN
private static final int MIN_RECOMENDED_LENGTH_FOR_LEVEL_2
static final int MAGIC_NUMBER
static final byte BLOCK_TYPE_NON_COMPRESSED
static final byte BLOCK_TYPE_COMPRESSED
static final byte BLOCK_WITHOUT_CHECKSUM
static final byte BLOCK_WITH_CHECKSUM
static final int OPTIONS_OFFSET
static final int CHECKSUM_OFFSET
static final int MAX_CHUNK_LENGTH
static final int MIN_LENGTH_TO_COMPRESSION
compress(byte[], int, int, byte[], int, int)
for input buffers
which length less than this value.static final int LEVEL_AUTO
compress(byte[], int, int, byte[], int, int)
will choose level
automatically depending on the length of the input buffer. If length less than
MIN_RECOMENDED_LENGTH_FOR_LEVEL_2
LEVEL_1
will be chosen,
otherwise LEVEL_2
.static final int LEVEL_1
static final int LEVEL_2
static int calculateOutputBufferLength(int inputLength)
inputLength
- length of input bufferstatic int compress(byte[] input, int inOffset, int inLength, byte[] output, int outOffset, int proposedLevel)
static int decompress(byte[] input, int inOffset, int inLength, byte[] output, int outOffset, int outLength)
private static int hashFunction(byte[] p, int offset)
private static int readU16(byte[] data, int offset)