From 53eb3f48f6188b37f5497066dc999dd4eb2548c7 Mon Sep 17 00:00:00 2001 From: Edwin Mons Date: Mon, 18 Nov 2019 14:21:52 +0100 Subject: [PATCH] Make xmppench work with latest upstream Swiften The API for Swift::PlatformIDNConverter::create changed, updated the invocation to build again. A re-define of private caused build failures on Debian 9. Improves the output during setup to give a little more sense of progress. Test-Information: Tested newly built xmppench against an XMPP server. --- BenchmarkNetworkFactories.cpp | 5 +++-- BenchmarkNetworkFactories.h | 2 +- LatencyWorkloadBenchmark.cpp | 21 ++++++++++++++++++--- main.cpp | 4 ++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/BenchmarkNetworkFactories.cpp b/BenchmarkNetworkFactories.cpp index 2557e12..4928e4b 100644 --- a/BenchmarkNetworkFactories.cpp +++ b/BenchmarkNetworkFactories.cpp @@ -7,6 +7,7 @@ #include "BenchmarkNetworkFactories.h" #include +#include #include #include #include @@ -76,8 +77,8 @@ Swift::NetworkEnvironment* BenchmarkNetworkFactories::getNetworkEnvironment() co } Swift::IDNConverter* BenchmarkNetworkFactories::getIDNConverter() const { - static Swift::IDNConverter* idn = Swift::PlatformIDNConverter::create(); - return idn; + static auto idn = Swift::PlatformIDNConverter::create(); + return idn.get(); } Swift::CryptoProvider* BenchmarkNetworkFactories::getCryptoProvider() const { diff --git a/BenchmarkNetworkFactories.h b/BenchmarkNetworkFactories.h index 8ff1809..d10538f 100644 --- a/BenchmarkNetworkFactories.h +++ b/BenchmarkNetworkFactories.h @@ -7,7 +7,7 @@ #pragma once #define private public // FIXME #include -#define private private +#undef private #include #include diff --git a/LatencyWorkloadBenchmark.cpp b/LatencyWorkloadBenchmark.cpp index 40f1330..1d83e4b 100644 --- a/LatencyWorkloadBenchmark.cpp +++ b/LatencyWorkloadBenchmark.cpp @@ -14,7 +14,9 @@ #include "IdleSession.h" LatencyWorkloadBenchmark::LatencyWorkloadBenchmark(std::vector networkFactories, AccountDataProvider* accountProvider, Options& opt) : networkFactories(networkFactories), accountProvider(accountProvider), opt(opt), sessionsReadyToBenchmark(0) { - std::cout << "Creating sessions..."; + constexpr int dotFrequency = 500; + std::cout << "Creating sessions"; + std::cout.flush(); // create active sessions for (int i = 0; i < opt.noOfActiveSessions / 2; ++i) { @@ -25,6 +27,10 @@ LatencyWorkloadBenchmark::LatencyWorkloadBenchmark(std::vectoronBenchmarkEnd.connect(boost::bind(&LatencyWorkloadBenchmark::handleBenchmarkEnd, this)); activeSessionPairs.push_back(activePair); sessionsToActivate.push_back(activePair); + if (i % dotFrequency == 0) { + std::cout << "."; + std::cout.flush(); + } } // create idle sessions @@ -34,17 +40,26 @@ LatencyWorkloadBenchmark::LatencyWorkloadBenchmark(std::vectoronDoneBenchmarking.connect(boost::bind(&LatencyWorkloadBenchmark::handleBenchmarkSessionDone, this, idleSession)); idleSessions.push_back(idleSession); sessionsToActivate.push_back(idleSession); + if (i % dotFrequency == 0) { + std::cout << "."; + std::cout.flush(); + } } - std::cout << "done." << std::endl; - std::cout << "Preparing sessions..."; + std::cout << " done." << std::endl; + std::cout << "Preparing sessions"; std::cout.flush(); nextActivateSession = sessionsToActivate.begin(); for (size_t n = 0; n < opt.parallelLogins && n < sessionsToActivate.size(); ++n) { (*nextActivateSession)->start(); ++nextActivateSession; + if (n % dotFrequency == 0) { + std::cout << "."; + std::cout.flush(); + } } + std::cout << " done." << std::endl; } LatencyWorkloadBenchmark::~LatencyWorkloadBenchmark() { diff --git a/main.cpp b/main.cpp index b0f853e..ca5b82f 100644 --- a/main.cpp +++ b/main.cpp @@ -15,7 +15,7 @@ // #include #define private public // FIXME #include -#define private private +#undef private #include #include @@ -163,7 +163,7 @@ int main(int argc, char *argv[]) { std::vector eventLoops; std::vector networkFactories; - for (int n = 0; n < jobs; ++n) { + for (size_t n = 0; n < jobs; ++n) { BoostASIOEventLoop* eventLoop = new BoostASIOEventLoop(std::make_shared()); NetworkFactories* factory; //if (jobs > 1) {