
This commit includes updates that affects the build, testing, and deployment of Tile38. - The root level build.sh has been broken up into multiple scripts and placed in the "scripts" directory. - The vendor directory has been updated to follow the Go modules rules, thus `make` should work on isolated environments. Also some vendored packages may have been updated to a later version, if needed. - The Makefile has been updated to allow for making single binaries such as `make tile38-server`. There is some scaffolding during the build process, so from now on all binaries should be made using make. For example, to run a development version of the tile38-cli binary, do this: make tile38-cli && ./tile38-cli not this: go run cmd/tile38-cli/main.go - Travis.CI docker push script has been updated to address a change to Docker's JSON repo meta output, which in turn fixes a bug where new Tile38 versions were not being properly pushed to Docker
32 lines
1.4 KiB
Markdown
32 lines
1.4 KiB
Markdown
[](https://godoc.org/github.com/pierrec/lz4)
|
|
[](https://travis-ci.org/pierrec/lz4)
|
|
|
|
# lz4
|
|
LZ4 compression and decompression in pure Go
|
|
|
|
## Usage
|
|
|
|
```go
|
|
import "github.com/pierrec/lz4"
|
|
```
|
|
|
|
## Description
|
|
|
|
Package lz4 implements reading and writing lz4 compressed data (a frame),
|
|
as specified in http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html,
|
|
using an io.Reader (decompression) and io.Writer (compression).
|
|
It is designed to minimize memory usage while maximizing throughput by being able to
|
|
[de]compress data concurrently.
|
|
|
|
The Reader and the Writer support concurrent processing provided the supplied buffers are
|
|
large enough (in multiples of BlockMaxSize) and there is no block dependency.
|
|
Reader.WriteTo and Writer.ReadFrom do leverage the concurrency transparently.
|
|
The runtime.GOMAXPROCS() value is used to apply concurrency or not.
|
|
|
|
Although the block level compression and decompression functions are exposed and are fully compatible
|
|
with the lz4 block format definition, they are low level and should not be used directly.
|
|
For a complete description of an lz4 compressed block, see:
|
|
http://fastcompression.blogspot.fr/2011/05/lz4-explained.html
|
|
|
|
See https://github.com/Cyan4973/lz4 for the reference C implementation.
|