leveldb-sharp is a portable C# binding for the C API of the LevelDB library.
To support the most reach leveldb-sharp is available under the 3-clause BSD license, which is the same license LevelDB uses.
leveldb-sharp uses the C API instead of the C++ API for portability. Using C++/CLI would have been the direct route but it is currently not portable outside of Windows. As I use the binding for Smuxi which targets Linux, Windows and OS X, the C API was the better pick.
- low-level function calls to LevelDB
- high-level object oriented API with .NET enrichments (IEnumerable, IDisposable)
- DB API
- ReadOptions/WriteOptions/Options API
- Write batch API
- Iterator API
- Cache API
- Snapshot API
- Compact range API
- Allows combined use of low-level and high-level APIs
- NUnit test-case coverage
Currently leveldb-sharp lacks:
- comparator API (unsafe code? no thanks...)