19 #include <ripple/beast/clock/manual_clock.h>
20 #include <ripple/beast/unit_test.h>
22 #include <test/csf/random.h>
41 int const numUNLs = 15;
42 int const minUNLSize = N / 4, maxUNLSize = N / 2;
46 PeerGroup network = sim.createGroup(N);
50 sample(network.size(), PowerLawDistribution{1, 3}, sim.rng);
61 network.connectFromTrust(
62 round<milliseconds>(0.2 * parms.ledgerGRANULARITY));
65 TxCollector txCollector;
66 LedgerCollector ledgerCollector;
67 auto colls = makeCollectors(txCollector, ledgerCollector);
68 sim.collectors.add(colls);
74 HeartbeatTimer heart(sim.scheduler,
seconds(10s));
83 makeSelector(network.begin(), network.end(), ranks, sim.rng);
84 auto txSubmitter = makeSubmitter(
85 ConstantDistribution{
rate.inv()},
86 sim.scheduler.now() + quiet,
87 sim.scheduler.now() + (simDuration - quiet),
96 BEAST_EXPECT(sim.branches() == 1);
97 BEAST_EXPECT(sim.synchronized());
101 log <<
"Peers: " << network.size() <<
std::endl;
102 log <<
"Simulated Duration: "
103 << duration_cast<milliseconds>(simDuration).count() <<
" ms"
105 log <<
"Branches: " << sim.branches() <<
std::endl;
106 log <<
"Synchronized: " << (sim.synchronized() ?
"Y" :
"N")
110 txCollector.report(simDuration, log);
111 ledgerCollector.report(simDuration, log);