Redesign CSF framework (RIPD-1361):

- Separate `Scheduler` from `BasicNetwork`.
- Add an event/collector framework for monitoring invariants and calculating statistics.
- Allow distinct network and trust connections between Peers.
- Add a simple routing strategy to support broadcasting arbitrary messages.
- Add a common directed graph (`Digraph`) class for representing network and trust topologies.
- Add a `PeerGroup` class for simpler specification of the trust and network topologies.
- Add a `LedgerOracle` class to ensure distinct ledger histories and simplify branch checking.
- Add a `Submitter` to send transactions in at fixed or random intervals to fixed or random peers.

Co-authored-by: Joseph McGee
This commit is contained in:
Brad Chase
2017-06-14 11:59:06 -04:00
committed by seelabs
parent b9fc9f6334
commit 2c13d9eb57
51 changed files with 6642 additions and 2473 deletions

View File

@@ -17,6 +17,9 @@
*/
//==============================================================================
#include <test/consensus/ByzantineFailureSim_test.cpp>
#include <test/consensus/Consensus_test.cpp>
#include <test/consensus/DistributedValidatorsSim_test.cpp>
#include <test/consensus/LedgerTiming_test.cpp>
#include <test/consensus/ScaleFreeSim_test.cpp>
#include <test/consensus/Validations_test.cpp>

View File

@@ -19,5 +19,9 @@
#include <BeastConfig.h>
#include <test/csf/Digraph_test.cpp>
#include <test/csf/Histogram_test.cpp>
#include <test/csf/BasicNetwork_test.cpp>
#include <test/csf/impl/UNL.cpp>
#include <test/csf/Scheduler_test.cpp>
#include <test/csf/impl/ledgers.cpp>
#include <test/csf/impl/Sim.cpp>