Submodule compress.lz4
The compress.lz4 submodule provides the ability to compress and
decompress data using the
lz4
algorithm. You can use the lz4 compressor as follows:
-
Create a compressor instance using the compress.lz4.new() function:
local lz4_compressor = require('compress.lz4').new()-- or --local lz4_compressor = require('compress').lz4.new()Optionally, you can pass compression options (lz4_opts) specific for
lz4:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
- To compress the specified data, use the compress() method:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
- To decompress data, call decompress():
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
Below is a list of the compress.lz4 functions and objects.
Name | Purpose |
|---|---|
Create a | |
A | |
Configuration options of the |
Create a lz4 compressor instance.
Parameters:
lz4_opts(table) —lz4compression options (see lz4_opts)
Returns
a new lz4 compressor instance (see
lz4_compressor)
Return type
userdata
Example:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
A compressor instance that exposes the API for compressing and
decompressing data using the lz4 algorithm. To create the lz4
compressor, call compress.lz4.new().
Compress the specified data.
Parameters:
data(string) — data to be compressed
Returns
compressed data
Return type
string
Example:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
Decompress the specified data.
Parameters:
data(string) — data to be decompressed
Returns
decompressed data
Return type
string
Example:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
Configuration options of the lz4_compressor. These options can be passed to the compress.lz4.new() function.
Example:
local lz4_compressor = require('compress.lz4').new({acceleration = 1000,decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)
Specifies the acceleration factor that enables you to adjust the compression ratio and speed. The higher acceleration factor increases the compression speed but decreases the compression ratio.
- Default:
1 - Maximum:
65537 - Minimum:
1
Specifies the decompress buffer size (in bytes). If the size of decompressed data is larger than this value, the compressor returns an error on decompression.
- Default:
1048576