Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dermesser/leveldb-rs
A reimplementation of LevelDB in Rust (no bindings).
https://github.com/dermesser/leveldb-rs
keyvalue keyvaluestore leveldb rust
Last synced: about 1 month ago
JSON representation
A reimplementation of LevelDB in Rust (no bindings).
- Host: GitHub
- URL: https://github.com/dermesser/leveldb-rs
- Owner: dermesser
- License: other
- Created: 2019-05-26T20:35:25.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-01T12:40:22.000Z (4 months ago)
- Last Synced: 2024-11-02T09:05:55.896Z (about 2 months ago)
- Topics: keyvalue, keyvaluestore, leveldb, rust
- Language: Rust
- Homepage:
- Size: 1.83 MB
- Stars: 520
- Watchers: 9
- Forks: 59
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# leveldb-rs
[![crates.io](https://img.shields.io/crates/v/rusty-leveldb.svg)](https://crates.io/crates/rusty-leveldb)
A fully compatible implementation of LevelDB in Rust. (any incompatibility is a
bug!)The implementation is very close to the original; often, you can see the same
algorithm translated 1:1, and class (struct) and method names are similar or
the same.**NOTE: I do not endorse using this library for any data that you care about.**
I do care, however, about bug reports.## Status
Working fairly well. Please file an issue if you encounter problems.
## Goals
Some of the goals of this implementation are
* As few copies of data as possible; most of the time, slices of bytes (`&[u8]`)
are used. Owned memory is represented as `Vec` (and then possibly borrowed
as slice). Zero-copy is not always possible, though, and sometimes simplicity is favored.
* Correctness -- self-checking implementation, good test coverage, etc. Just
like the original implementation.
* Clarity; commented code, clear structure (hopefully doing a better job than
the original implementation).
* Coming close-ish to the original implementation; clarifying the translation of
typical C++ constructs to Rust, and doing a better job at helping understand the internals.