mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
7c0c2419f7726e759d4e9b8d6d61ae58e8bc3d94
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
#rippled - Ripple P2P server
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
Languages
C++
90.3%
C
8.1%
CMake
0.6%
Shell
0.2%
Java
0.2%
Other
0.5%
