19 #include <ripple/beast/clock/manual_clock.h>
20 #include <ripple/beast/unit_test.h>
22 #include <test/csf/random.h>
42 int const numUNLs = 15;
43 int const minUNLSize = N / 4, maxUNLSize = N / 2;
47 PeerGroup network = sim.createGroup(N);
51 sample(network.size(), PowerLawDistribution{1, 3}, sim.rng);
54 randomRankedTrust(network, ranks, numUNLs,
59 network.connectFromTrust(
60 date::round<milliseconds>(0.2 * parms.ledgerGRANULARITY));
63 TxCollector txCollector;
64 LedgerCollector ledgerCollector;
65 auto colls = makeCollectors(txCollector, ledgerCollector);
66 sim.collectors.add(colls);
72 HeartbeatTimer heart(sim.scheduler,
seconds(10s));
80 auto peerSelector = makeSelector(network.begin(),
84 auto txSubmitter = makeSubmitter(ConstantDistribution{
rate.inv()},
85 sim.scheduler.now() + quiet,
86 sim.scheduler.now() + (simDuration - quiet),
95 BEAST_EXPECT(sim.branches() == 1);
96 BEAST_EXPECT(sim.synchronized());
100 log <<
"Peers: " << network.size() <<
std::endl;
101 log <<
"Simulated Duration: "
102 << duration_cast<milliseconds>(simDuration).count()
104 log <<
"Branches: " << sim.branches() <<
std::endl;
105 log <<
"Synchronized: " << (sim.synchronized() ?
"Y" :
"N")
109 txCollector.report(simDuration, log);
110 ledgerCollector.report(simDuration, log);