32 bool printHeaders =
false)
39 "DistributedValidators_"
40 "completeTrustCompleteConnectFixedDelay";
41 std::fstream txLog(prefix +
"_tx.csv", std::ofstream::app),
42 ledgerLog(prefix +
"_ledger.csv", std::ofstream::app);
45 log << prefix <<
"(" << numPeers <<
"," << delay.count() <<
")" <<
std::endl;
48 BEAST_EXPECT(numPeers >= 1);
51 PeerGroup peers = sim.createGroup(numPeers);
57 peers.connect(peers, delay);
60 TxCollector txCollector;
61 LedgerCollector ledgerCollector;
62 auto colls = makeCollectors(txCollector, ledgerCollector);
63 sim.collectors.add(colls);
71 Rate const rate{.count = 100, .duration = 1000ms};
74 HeartbeatTimer heart(sim.scheduler);
79 auto txSubmitter = makeSubmitter(
80 ConstantDistribution{
rate.inv()},
81 sim.scheduler.now() + quiet,
82 sim.scheduler.now() + simDuration - quiet,
98 log <<
" | Branches: " <<
std::setw(1) << sim.branches();
99 log <<
" | Synchronized: " <<
std::setw(1) << (sim.synchronized() ?
"Y" :
"N");
102 txCollector.report(simDuration,
log,
true);
103 ledgerCollector.report(simDuration,
log,
false);
106 txCollector.csv(simDuration, txLog, tag, printHeaders);
107 ledgerCollector.csv(simDuration, ledgerLog, tag, printHeaders);
116 bool printHeaders =
false)
123 "DistributedValidators__"
124 "completeTrustScaleFreeConnectFixedDelay";
125 std::fstream txLog(prefix +
"_tx.csv", std::ofstream::app),
126 ledgerLog(prefix +
"_ledger.csv", std::ofstream::app);
129 log << prefix <<
"(" << numPeers <<
"," << delay.count() <<
")" <<
std::endl;
132 int const numCNLs =
std::max(
int(1.00 * numPeers), 1);
133 int const minCNLSize =
std::max(
int(0.25 * numCNLs), 1);
134 int const maxCNLSize =
std::max(
int(0.50 * numCNLs), 1);
135 BEAST_EXPECT(numPeers >= 1);
136 BEAST_EXPECT(numCNLs >= 1);
137 BEAST_EXPECT(1 <= minCNLSize && minCNLSize <= maxCNLSize && maxCNLSize <= numPeers);
140 PeerGroup peers = sim.createGroup(numPeers);
156 TxCollector txCollector;
157 LedgerCollector ledgerCollector;
158 auto colls = makeCollectors(txCollector, ledgerCollector);
159 sim.collectors.add(colls);
167 Rate const rate{.count = 100, .duration = 1000ms};
170 HeartbeatTimer heart(sim.scheduler);
175 auto txSubmitter = makeSubmitter(
176 ConstantDistribution{
rate.inv()},
177 sim.scheduler.now() + quiet,
178 sim.scheduler.now() + simDuration - quiet,
185 sim.run(simDuration);
194 log <<
" | Branches: " <<
std::setw(1) << sim.branches();
195 log <<
" | Synchronized: " <<
std::setw(1) << (sim.synchronized() ?
"Y" :
"N");
198 txCollector.report(simDuration,
log,
true);
199 ledgerCollector.report(simDuration,
log,
false);
202 txCollector.csv(simDuration, txLog, tag, printHeaders);
203 ledgerCollector.csv(simDuration, ledgerLog, tag, printHeaders);