google / google/leveldb

Dynamic compression APIs

Open
#918 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
39.4k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

Hi,

I maintain a fork of LevelDB (https://github.com/pmmp/leveldb) for reading Minecraft Bedrock worlds.
The only significant difference between mojang/leveldb and google/leveldb is that mojang/leveldb uses more compression types instead of Snappy (primarily zlib).

I currently maintain a fork of google/leveldb to implement support for zlib, and recently realized it might be much better if LevelDB had some dynamic compression APIs, so that custom compressors can be used without making LevelDB depend on every compression library under the sun, and so that other users of LevelDB don't have to fork LevelDB in order to use their own compression algorithms.

This would require the following:
- Ability to dynamically map compression IDs to decompressor callbacks (Snappy would remain as 1, everything else would be user-defined)
- Ability to provide a custom compressor callback (and compression ID) for output of compressed data.

Is this the kind of change that would be suitable for LevelDB itself, or should I continue to maintain a fork?
Thanks.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.