aboutsummaryrefslogtreecommitdiff
path: root/src/leveldb/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/leveldb/README')
-rw-r--r--src/leveldb/README59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/leveldb/README b/src/leveldb/README
new file mode 100644
index 0000000000..2bf787ef23
--- /dev/null
+++ b/src/leveldb/README
@@ -0,0 +1,59 @@
+LevelDB is a third party library used for the transaction database.
+It is imported into the Bitcoin codebase due to being relatively new
+and not widely packaged.
+
+
+
+---------------------------------------------------------------------
+
+leveldb: A key-value store
+Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
+
+The code under this directory implements a system for maintaining a
+persistent key/value store.
+
+See doc/index.html for more explanation.
+See doc/impl.html for a brief overview of the implementation.
+
+The public interface is in include/*.h. Callers should not include or
+rely on the details of any other header files in this package. Those
+internal APIs may be changed without warning.
+
+Guide to header files:
+
+include/db.h
+ Main interface to the DB: Start here
+
+include/options.h
+ Control over the behavior of an entire database, and also
+ control over the behavior of individual reads and writes.
+
+include/comparator.h
+ Abstraction for user-specified comparison function. If you want
+ just bytewise comparison of keys, you can use the default comparator,
+ but clients can write their own comparator implementations if they
+ want custom ordering (e.g. to handle different character
+ encodings, etc.)
+
+include/iterator.h
+ Interface for iterating over data. You can get an iterator
+ from a DB object.
+
+include/write_batch.h
+ Interface for atomically applying multiple updates to a database.
+
+include/slice.h
+ A simple module for maintaining a pointer and a length into some
+ other byte array.
+
+include/status.h
+ Status is returned from many of the public interfaces and is used
+ to report success and various kinds of errors.
+
+include/env.h
+ Abstraction of the OS environment. A posix implementation of
+ this interface is in util/env_posix.cc
+
+include/table.h
+include/table_builder.h
+ Lower-level modules that most clients probably won't use directly