Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
m4 Autotoolized May 1, 2012
tests Implemented Native.leveldb_iter_valid() and Iterator.IsValid() test-c… Mar 29, 2014
.gitignore Autotoolized May 1, 2012
.travis.yml Travis-CI: IRC channel moved to freenode Dec 17, 2013
AssemblyInfo.cs Autotoolized May 1, 2012
AssemblyVersion.cs Autotoolized May 1, 2012
AssemblyVersion.cs.in Autotoolized May 1, 2012
Cache.cs Added XML documentation Jan 26, 2013
CompressionType.cs Added XML documentation Jan 26, 2013
DB.cs Implemented DB.GetProperty() Jan 26, 2013
Iterator.cs Added XML documentation Jan 26, 2013
LICENSE Initial 3-clause BSD licensed C# LevelDB binding Mar 8, 2012
Makefile.am Add README.md, LICENSE to EXTRA_DIST and clean up output dir Mar 21, 2013
Native.cs Fixed endianness bug of Native.leveldb_iter_valid() (closes #7) May 4, 2014
Options.cs Implemented Options.{WriteBufferSize,BlockSize,BlockRestartInterval} Jan 26, 2013
README.md Update README.md May 8, 2015
ReadOptions.cs Added XML documentation Jan 26, 2013
Snapshot.cs Added XML documentation Jan 26, 2013
WriteBatch.cs Added XML documentation Jan 26, 2013
WriteOptions.cs Added XML documentation Jan 26, 2013
autogen.sh Autotoolized May 1, 2012
configure.ac Bumped version to 1.9.2 May 4, 2014
leveldb-sharp-tests.csproj Don't require a specific NUnit version Jan 9, 2013
leveldb-sharp.csproj Added XML documentation Jan 26, 2013
leveldb-sharp.dll.config P/Invoke shared library libleveldb.so.1 May 1, 2012
leveldb-sharp.pc.in Autotoolized May 1, 2012
leveldb-sharp.sln Added project name to standard header Mar 10, 2012
leveldb-sharp.snk Initial 3-clause BSD licensed C# LevelDB binding Mar 8, 2012

README.md

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.

Features

leveldb-sharp offers:

  • 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

Limitations

Currently leveldb-sharp lacks:

  • comparator API (unsafe code? no thanks...)

Download

Projects using leveldb-sharp