Vinnie Falco 7c0c2419f7 Refactor PeerFinder:
Previously, the PeerFinder manager constructed with a Callback object
provided by the owner which was used to perform operations like connecting,
disconnecting, and sending messages. This made it difficult to change the
overlay code because a single call into the PeerFinder could cause both
OverlayImpl and PeerImp to be re-entered one or more times, sometimes while
holding a recursive mutex. This change eliminates the callback by changing
PeerFinder functions to return values indicating the action the caller should
take.

As a result of this change the PeerFinder no longer needs its own dedicated
thread. OverlayImpl is changed to call into PeerFinder on a timer to perform
periodic activities. Furthermore the Checker class used to perform connectivity
checks has been refactored. It no longer uses an abstract base class, in order
to not type-erase the handler passed to async_connect (ensuring compatibility
with coroutines). To allow unit tests that don't need a network, the Logic
class is now templated on the Checker type. Currently the Manager provides its
own io_service. However, this can easily be changed so that the io_service is
provided upon construction.

Summary
* Remove unused SiteFiles dependency injection
* Remove Callback and update signatures for public APIs
* Remove obsolete functions
* Move timer to overlay
* Steps toward a shared io_service
* Templated, simplified Checker
* Tidy up Checker declaration
2014-10-10 15:04:37 -07:00
2014-10-10 15:04:37 -07:00
2014-10-02 14:58:14 -07:00
2014-10-10 15:04:37 -07:00
2014-05-13 12:15:59 -07:00
2014-07-24 20:18:51 -07:00
2014-04-28 14:54:15 -07:00
2014-04-28 14:54:15 -07:00
2014-10-01 08:47:53 -07:00

#rippled - Ripple P2P server

##Build Status

This is the repository for Ripple's rippled, reference P2P server.

###Build instructions:

###Setup instructions:

Repository Contents

./bin

Scripts and data files for Ripple integrators.

./build

Intermediate and final build outputs.

./Builds

Platform or IDE-specific project files.

./doc

Documentation and example configuration files.

./src

Source code directory. Some of the directories contained here are external repositories inlined via git-subtree, see the corresponding README for more details.

./test

Javascript / Mocha tests.

License

Ripple is open source and permissively licensed under the ISC license. See the LICENSE file for more details.

###For more information:

Description
Codebase for Xahaud - The consensus, RPC & blockchain app for the Xahau network.
Readme 178 MiB
Languages
C++ 90.3%
C 8.1%
CMake 0.6%
Shell 0.2%
Java 0.2%
Other 0.5%