Implemented tar+lz4 compression + unit tests for it.

This commit is contained in:
eleksir
2026-03-27 23:37:13 +03:00
parent a73354b59d
commit b494479128
11 changed files with 172 additions and 10 deletions

View File

@@ -4,14 +4,13 @@
* TODO Backer Tasks
** TODO Consider different compression algorithms
** DONE Consider different compression algorithms
- [X] Evaluate alternatives to gzip: bz2, xz, lzo, lz4
- CANCELLED lzo. It has cgo implementaion which depends in liblzo, and native lid that does not support streaming.
- [X] Implemented bzip2 as alternative (pure Go, via github.com/dsnet/compress)
- [ ] Implement xz as another alternative (pure Go, via github.com/ulikunitz/xz)
- [X] Implement zstd as another alternative (pure Go, via github.com/klauspost/compress/zstd)
- [ ] Implement lz4 as another alternative (pure Go, via github.com/pierrec/lz4)
- [X] Implemented zstd as alternative (pure Go, via github.com/klauspost/compress/zstd)
- [X] Add compression_algorithm config option
- Note: xz and lz4 can be added later if needed (pure Go libs available)
** DONE Configurable filename prefix
- [X] Move "backup" prefix to config (currently hardcoded in newServer.go)