Files
rippled/src
Scott Schurr 9d4500cf69 Prevent low-likelihood crash on shutdown (RIPD-1392):
The DatabaseImp has threads that asynchronously call JobQueue to
perform database reads.  Formerly these threads had the same
lifespan as Database, which was until the end-of-life of
ApplicationImp.  During shutdown these threads could call JobQueue
after JobQueue had already stopped.  Or, even worse, occasionally
call JobQueue after JobQueue's destructor had run.

To avoid these shutdown conditions, Database is made a Stoppable,
with JobQueue as its parent.  When Database stops, it shuts down
its asynchronous read threads.  This prevents Database from
accessing JobQueue after JobQueue has stopped, but allows
Database to perform stores for the remainder of shutdown.

During development it was noted that the Database::close()
method was never called.  So that method is removed from Database
and all derived classes.

Stoppable is also adjusted so it can be constructed using either
a char const* or a std::string.

For those files touched for other reasons, unneeded #includes
are removed.
2017-03-20 18:08:49 -07:00
..
2017-03-01 10:05:46 -05:00
2014-06-03 21:43:59 -07:00
2016-02-08 15:47:57 -08:00
2014-08-20 16:19:28 -07:00

src

Some of these directories come from entire outside repositories brought in using git-subtree. This means that the source files are inserted directly into the rippled repository. They can be edited and committed just as if they were normal files.

However, if you create a commit that contains files both from a subtree, and from the ripple source tree please use care when designing the commit message, since it will appear in the subtree's individual repository when the changes are pushed back to the upstream.

When submitting pull request, make sure that any commits which include files from subtrees are isolated - i.e. do not mix files from subtrees and ripple in the same commit. This way, the commit message will make sense. We don't want to see "Fix pathfinding bug with XRP" appearing in the LevelDB or Beast commit log, for example.

About git-subtree:

https://github.com/apenwarr/git-subtree
http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

dir What
beast Beast, the amazing cross-platform library.
git@github.com:vinniefalco/Beast.git

./beast

Beast, the amazing cross-platform library.

Repository

git@github.com:vinniefalco/Beast.git

Branch

master

HyperLevelDB

Ripple's fork of HyperLevelDB

Repository

git@github.com:ripple/HyperLevelDB.git

Branch

ripple-fork

LevelDB

Ripple's fork of LevelDB.

Repository

git@github.com:ripple/LevelDB.git

Branch

ripple-fork

LightningDB (a.k.a. MDB)

Ripple's fork of MDB, a fast memory-mapped key value database system.

Repository

git@github.com:ripple/LightningDB.git

Branch

ripple-fork

websocket

Ripple's fork of websocketpp has some incompatible changes and Ripple specific includes.

Repository

git@github.com:ripple/websocketpp.git

Branch

ripple-fork

protobuf

Ripple's fork of protobuf. We've changed some names in order to support the unity-style of build (a single .cpp added to the project, instead of linking to a separately built static library).

Repository

git@github.com:ripple/protobuf.git

Branch

master

NOTE Linux builds use the protobuf installed in /usr/lib. This will be fixed in a future revision.

SQLite

Not technically a subtree but included here because it is a direct copy of the official SQLite distributions available here:

http://sqlite.org/download.html