25        bool printHeaders = 
false)
 
   32            "DistributedValidators_" 
   33            "completeTrustCompleteConnectFixedDelay";
 
   34        std::fstream txLog(prefix + 
"_tx.csv", std::ofstream::app),
 
   35            ledgerLog(prefix + 
"_ledger.csv", std::ofstream::app);
 
   38        log << prefix << 
"(" << numPeers << 
"," << delay.count() << 
")" 
   42        BEAST_EXPECT(numPeers >= 1);
 
   45        PeerGroup peers = sim.createGroup(numPeers);
 
   51        peers.connect(peers, delay);
 
   54        TxCollector txCollector;
 
   55        LedgerCollector ledgerCollector;
 
   56        auto colls = makeCollectors(txCollector, ledgerCollector);
 
   57        sim.collectors.add(colls);
 
   68        HeartbeatTimer heart(sim.scheduler);
 
   71        auto peerSelector = makeSelector(
 
   76        auto txSubmitter = makeSubmitter(
 
   77            ConstantDistribution{
rate.inv()},
 
   78            sim.scheduler.now() + quiet,
 
   79            sim.scheduler.now() + simDuration - quiet,
 
   94            << duration_cast<milliseconds>(simDuration).count() << 
" ms";
 
   95        log << 
" | Branches: " << 
std::setw(1) << sim.branches();
 
   97            << (sim.synchronized() ? 
"Y" : 
"N");
 
  100        txCollector.report(simDuration, 
log, 
true);
 
  101        ledgerCollector.report(simDuration, 
log, 
false);
 
  104        txCollector.csv(simDuration, txLog, tag, printHeaders);
 
  105        ledgerCollector.csv(simDuration, ledgerLog, tag, printHeaders);
 
 
  114        bool printHeaders = 
false)
 
  121            "DistributedValidators__" 
  122            "completeTrustScaleFreeConnectFixedDelay";
 
  123        std::fstream txLog(prefix + 
"_tx.csv", std::ofstream::app),
 
  124            ledgerLog(prefix + 
"_ledger.csv", std::ofstream::app);
 
  127        log << prefix << 
"(" << numPeers << 
"," << delay.count() << 
")" 
  131        int const numCNLs = 
std::max(
int(1.00 * numPeers), 1);
 
  132        int const minCNLSize = 
std::max(
int(0.25 * numCNLs), 1);
 
  133        int const maxCNLSize = 
std::max(
int(0.50 * numCNLs), 1);
 
  134        BEAST_EXPECT(numPeers >= 1);
 
  135        BEAST_EXPECT(numCNLs >= 1);
 
  137            1 <= minCNLSize && minCNLSize <= maxCNLSize &&
 
  138            maxCNLSize <= numPeers);
 
  141        PeerGroup peers = sim.createGroup(numPeers);
 
  148            sample(peers.size(), PowerLawDistribution{1, 3}, sim.rng);
 
  158        TxCollector txCollector;
 
  159        LedgerCollector ledgerCollector;
 
  160        auto colls = makeCollectors(txCollector, ledgerCollector);
 
  161        sim.collectors.add(colls);
 
  172        HeartbeatTimer heart(sim.scheduler);
 
  175        auto peerSelector = makeSelector(
 
  180        auto txSubmitter = makeSubmitter(
 
  181            ConstantDistribution{
rate.inv()},
 
  182            sim.scheduler.now() + quiet,
 
  183            sim.scheduler.now() + simDuration - quiet,
 
  190        sim.run(simDuration);
 
  198            << duration_cast<milliseconds>(simDuration).count() << 
" ms";
 
  199        log << 
" | Branches: " << 
std::setw(1) << sim.branches();
 
  201            << (sim.synchronized() ? 
"Y" : 
"N");
 
  204        txCollector.report(simDuration, 
log, 
true);
 
  205        ledgerCollector.report(simDuration, 
log, 
false);
 
  208        txCollector.csv(simDuration, txLog, tag, printHeaders);
 
  209        ledgerCollector.csv(simDuration, ledgerLog, tag, printHeaders);