aboutsummaryrefslogtreecommitdiffstats
path: root/vbench
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2017-04-24 12:10:42 +0200
committerGitHub <noreply@github.com>2017-04-24 12:10:42 +0200
commit9ff4bdb407ed8d855a3f86a17c99906ff738177b (patch)
treefc2b050224d7dde92d57e1f9cac12c1e5aaf6b90 /vbench
parent32ae190acc9ac5081049e1c7008d1602c68cf821 (diff)
Revert "Balder/enforce override 2"
Diffstat (limited to 'vbench')
-rw-r--r--vbench/src/apps/dumpurl/dumpurl.cpp9
-rw-r--r--vbench/src/apps/vbench/vbench.cpp5
-rw-r--r--vbench/src/tests/dispatcher/dispatcher_test.cpp4
-rw-r--r--vbench/src/tests/handler_thread/handler_thread_test.cpp2
-rw-r--r--vbench/src/tests/socket/socket_test.cpp4
-rw-r--r--vbench/src/vbench/core/handler.h1
-rw-r--r--vbench/src/vbench/core/input_file_reader.h4
-rw-r--r--vbench/src/vbench/core/socket.cpp2
-rw-r--r--vbench/src/vbench/core/socket.h14
-rw-r--r--vbench/src/vbench/core/string.h2
-rw-r--r--vbench/src/vbench/core/taintable.cpp6
-rw-r--r--vbench/src/vbench/http/benchmark_headers.cpp4
-rw-r--r--vbench/src/vbench/http/http_result_handler.h2
-rw-r--r--vbench/src/vbench/test/request_receptor.h3
-rw-r--r--vbench/src/vbench/vbench/analyzer.h6
-rw-r--r--vbench/src/vbench/vbench/dropped_tagger.h7
-rw-r--r--vbench/src/vbench/vbench/generator.h5
-rw-r--r--vbench/src/vbench/vbench/ignore_before.h8
-rw-r--r--vbench/src/vbench/vbench/latency_analyzer.cpp2
-rw-r--r--vbench/src/vbench/vbench/latency_analyzer.h9
-rw-r--r--vbench/src/vbench/vbench/qps_analyzer.h8
-rw-r--r--vbench/src/vbench/vbench/qps_tagger.h8
-rw-r--r--vbench/src/vbench/vbench/request.h8
-rw-r--r--vbench/src/vbench/vbench/request_dumper.h9
-rw-r--r--vbench/src/vbench/vbench/request_generator.h16
-rw-r--r--vbench/src/vbench/vbench/request_scheduler.h28
-rw-r--r--vbench/src/vbench/vbench/request_sink.h6
-rw-r--r--vbench/src/vbench/vbench/server_tagger.h12
-rw-r--r--vbench/src/vbench/vbench/tagger.h6
-rw-r--r--vbench/src/vbench/vbench/vbench.h14
-rw-r--r--vbench/src/vbench/vbench/worker.h18
31 files changed, 154 insertions, 78 deletions
diff --git a/vbench/src/apps/dumpurl/dumpurl.cpp b/vbench/src/apps/dumpurl/dumpurl.cpp
index 44ebc1d2ac2..706dd061763 100644
--- a/vbench/src/apps/dumpurl/dumpurl.cpp
+++ b/vbench/src/apps/dumpurl/dumpurl.cpp
@@ -1,9 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
+#include <vespa/fastos/fastos.h>
#include <vbench/http/http_result_handler.h>
#include <vbench/http/server_spec.h>
#include <vbench/http/http_client.h>
-#include <vespa/fastos/app.h>
using namespace vbench;
@@ -14,14 +13,14 @@ public:
};
struct MyHttpHandler : public HttpResultHandler {
- void handleHeader(const string &name, const string &value) override {
+ virtual void handleHeader(const string &name, const string &value) override {
fprintf(stderr, "got header: '%s': '%s'\n", name.c_str(), value.c_str());
}
- void handleContent(const Memory &data) override {
+ virtual void handleContent(const Memory &data) override {
fprintf(stderr, "got data: %zu bytes\n", data.size);
fwrite(data.data, 1, data.size, stdout);
}
- void handleFailure(const string &reason) override {
+ virtual void handleFailure(const string &reason) override {
fprintf(stderr, "got FAILURE: '%s'\n", reason.c_str());
}
};
diff --git a/vbench/src/apps/vbench/vbench.cpp b/vbench/src/apps/vbench/vbench.cpp
index fa6bc91e035..32af3d70c3d 100644
--- a/vbench/src/apps/vbench/vbench.cpp
+++ b/vbench/src/apps/vbench/vbench.cpp
@@ -1,10 +1,13 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
#include <vespa/vespalib/util/signalhandler.h>
#include <vespa/vespalib/util/programoptions.h>
#include <vespa/vespalib/util/sync.h>
#include <vespa/vespalib/util/thread.h>
#include <vespa/vespalib/util/runnable_pair.h>
#include <vbench/vbench/vbench.h>
+#include <vespa/vespalib/data/slime/slime.h>
+#include <string>
#include <iostream>
using namespace vbench;
@@ -14,7 +17,7 @@ typedef vespalib::SignalHandler SIG;
struct NotifyDone : public vespalib::Runnable {
vespalib::Gate &done;
NotifyDone(vespalib::Gate &d) : done(d) {}
- void run() override {
+ virtual void run() override {
done.countDown();
}
};
diff --git a/vbench/src/tests/dispatcher/dispatcher_test.cpp b/vbench/src/tests/dispatcher/dispatcher_test.cpp
index 0a278508d55..284f7c55d8a 100644
--- a/vbench/src/tests/dispatcher/dispatcher_test.cpp
+++ b/vbench/src/tests/dispatcher/dispatcher_test.cpp
@@ -7,14 +7,14 @@ using namespace vbench;
struct MyHandler : public Handler<int> {
int value;
MyHandler() : value(-1) {}
- void handle(std::unique_ptr<int> v) override { value = (v.get() != 0) ? *v : 0; }
+ virtual void handle(std::unique_ptr<int> v) override { value = (v.get() != 0) ? *v : 0; }
};
struct Fetcher : public vespalib::Runnable {
Provider<int> &provider;
Handler<int> &handler;
Fetcher(Provider<int> &p, Handler<int> &h) : provider(p), handler(h) {}
- void run() override { handler.handle(provider.provide()); }
+ virtual void run() override { handler.handle(provider.provide()); }
};
TEST("dispatcher") {
diff --git a/vbench/src/tests/handler_thread/handler_thread_test.cpp b/vbench/src/tests/handler_thread/handler_thread_test.cpp
index e8816e1cc96..a21bda82b6a 100644
--- a/vbench/src/tests/handler_thread/handler_thread_test.cpp
+++ b/vbench/src/tests/handler_thread/handler_thread_test.cpp
@@ -6,7 +6,7 @@ using namespace vbench;
struct MyHandler : Handler<int> {
std::vector<int> values;
- void handle(std::unique_ptr<int> value) override {
+ virtual void handle(std::unique_ptr<int> value) override {
values.push_back(*value);
vespalib::Thread::sleep(10); // for improved coverage
}
diff --git a/vbench/src/tests/socket/socket_test.cpp b/vbench/src/tests/socket/socket_test.cpp
index 56499a089b6..21c410f382e 100644
--- a/vbench/src/tests/socket/socket_test.cpp
+++ b/vbench/src/tests/socket/socket_test.cpp
@@ -34,7 +34,7 @@ struct Agent {
struct Client : public Agent, public vespalib::Runnable {
Client(Stream::UP s) : Agent(std::move(s)) {}
- void run() override {
+ virtual void run() override {
TEST_THREAD("client");
write("client-");
read("server-");
@@ -43,7 +43,7 @@ struct Client : public Agent, public vespalib::Runnable {
struct Server : public Agent, public vespalib::Runnable {
Server(Stream::UP s) : Agent(std::move(s)) {}
- void run() override {
+ virtual void run() override {
TEST_THREAD("server");
read("client-");
write("server-");
diff --git a/vbench/src/vbench/core/handler.h b/vbench/src/vbench/core/handler.h
index 3959688d949..962e6c09ad7 100644
--- a/vbench/src/vbench/core/handler.h
+++ b/vbench/src/vbench/core/handler.h
@@ -17,3 +17,4 @@ struct Handler
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/core/input_file_reader.h b/vbench/src/vbench/core/input_file_reader.h
index 5883faab9aa..410f0819d3b 100644
--- a/vbench/src/vbench/core/input_file_reader.h
+++ b/vbench/src/vbench/core/input_file_reader.h
@@ -4,9 +4,9 @@
#include "string.h"
#include "taintable.h"
-#include "line_reader.h"
#include <vespa/vespalib/io/mapped_file_input.h>
#include <vespa/vespalib/data/input_reader.h>
+#include "line_reader.h"
namespace vbench {
@@ -34,7 +34,7 @@ public:
**/
bool readLine(string &dst);
- const Taint &tainted() const override { return _taint; }
+ virtual const Taint &tainted() const override { return _taint; }
};
} // namespace vbench
diff --git a/vbench/src/vbench/core/socket.cpp b/vbench/src/vbench/core/socket.cpp
index e11acdb864c..7306d25cf32 100644
--- a/vbench/src/vbench/core/socket.cpp
+++ b/vbench/src/vbench/core/socket.cpp
@@ -40,8 +40,6 @@ Socket::Socket(const string &host, int port)
}
}
-Socket::~Socket() { }
-
Memory
Socket::obtain()
{
diff --git a/vbench/src/vbench/core/socket.h b/vbench/src/vbench/core/socket.h
index a447dd4d592..e961994c37a 100644
--- a/vbench/src/vbench/core/socket.h
+++ b/vbench/src/vbench/core/socket.h
@@ -29,13 +29,12 @@ private:
public:
Socket(vespalib::SocketHandle socket);
Socket(const string &host, int port);
- ~Socket();
- bool eof() const override { return _eof; }
- Memory obtain() override;
- Input &evict(size_t bytes) override;
- WritableMemory reserve(size_t bytes) override;
- Output &commit(size_t bytes) override;
- const Taint &tainted() const override { return _taint; }
+ virtual bool eof() const override { return _eof; }
+ virtual Memory obtain() override;
+ virtual Input &evict(size_t bytes) override;
+ virtual WritableMemory reserve(size_t bytes) override;
+ virtual Output &commit(size_t bytes) override;
+ virtual const Taint &tainted() const override { return _taint; }
};
struct ServerSocket {
@@ -54,3 +53,4 @@ struct ServerSocket {
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/core/string.h b/vbench/src/vbench/core/string.h
index 592e63e9cbf..61a2b3b442c 100644
--- a/vbench/src/vbench/core/string.h
+++ b/vbench/src/vbench/core/string.h
@@ -10,8 +10,6 @@
#include <string>
#endif
-#include <vector>
-
namespace vbench {
// define which string class to use
diff --git a/vbench/src/vbench/core/taintable.cpp b/vbench/src/vbench/core/taintable.cpp
index 34d65513ca7..23e2745999a 100644
--- a/vbench/src/vbench/core/taintable.cpp
+++ b/vbench/src/vbench/core/taintable.cpp
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
#include "taintable.h"
namespace vbench {
@@ -8,9 +9,8 @@ namespace {
struct Untaintable : Taintable {
Taint taint;
-
- const Taint &tainted() const override { return taint; }
- ~Untaintable() {}
+ virtual const Taint &tainted() const override { return taint; }
+ virtual ~Untaintable() {}
};
Untaintable untaintable;
diff --git a/vbench/src/vbench/http/benchmark_headers.cpp b/vbench/src/vbench/http/benchmark_headers.cpp
index c42af2a79c7..e4bea82023d 100644
--- a/vbench/src/vbench/http/benchmark_headers.cpp
+++ b/vbench/src/vbench/http/benchmark_headers.cpp
@@ -1,5 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <vespa/fastos/fastos.h>
#include "benchmark_headers.h"
#include <map>
@@ -75,7 +77,7 @@ BenchmarkHeaders::toString() const
struct HeaderToString : benchmark_headers::HeaderTraverser {
string &str;
HeaderToString(string &s) : str(s) {}
- void header(const string &name, double value) override {
+ virtual void header(const string &name, double value) override {
str += strfmt(" %s: %g\n", name.c_str(), value);
}
} headerToString(str);
diff --git a/vbench/src/vbench/http/http_result_handler.h b/vbench/src/vbench/http/http_result_handler.h
index 18e8955b65e..85c230fefb8 100644
--- a/vbench/src/vbench/http/http_result_handler.h
+++ b/vbench/src/vbench/http/http_result_handler.h
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
#include <vbench/core/string.h>
@@ -22,3 +23,4 @@ struct HttpResultHandler
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/test/request_receptor.h b/vbench/src/vbench/test/request_receptor.h
index 0692c3735f6..2de39e528e4 100644
--- a/vbench/src/vbench/test/request_receptor.h
+++ b/vbench/src/vbench/test/request_receptor.h
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
#include <vbench/core/handler.h>
@@ -10,7 +11,7 @@ namespace vbench {
struct RequestReceptor : public Handler<Request> {
Request::UP request;
RequestReceptor() : request() {}
- void handle(Request::UP req) override;
+ virtual void handle(Request::UP req) override;
};
} // namespace vbench
diff --git a/vbench/src/vbench/vbench/analyzer.h b/vbench/src/vbench/vbench/analyzer.h
index f206130cc0b..e1bd8e23919 100644
--- a/vbench/src/vbench/vbench/analyzer.h
+++ b/vbench/src/vbench/vbench/analyzer.h
@@ -1,10 +1,13 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "request.h"
+#include <memory>
#include <vbench/core/handler.h>
+#include "request.h"
+
namespace vbench {
struct Analyzer : public Handler<Request>
@@ -15,3 +18,4 @@ struct Analyzer : public Handler<Request>
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/dropped_tagger.h b/vbench/src/vbench/vbench/dropped_tagger.h
index a3fd7a65b99..eb64d4b4be4 100644
--- a/vbench/src/vbench/vbench/dropped_tagger.h
+++ b/vbench/src/vbench/vbench/dropped_tagger.h
@@ -1,10 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "request.h"
#include <vbench/core/handler.h>
+#include "request.h"
+
namespace vbench {
/**
@@ -17,7 +19,8 @@ private:
public:
DroppedTagger(Handler<Request> &next);
- void handle(Request::UP request) override;
+ virtual void handle(Request::UP request) override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/generator.h b/vbench/src/vbench/vbench/generator.h
index 51309eaf9b6..5eb8e056265 100644
--- a/vbench/src/vbench/vbench/generator.h
+++ b/vbench/src/vbench/vbench/generator.h
@@ -1,10 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include <vbench/core/taintable.h>
-#include <vespa/vespalib/util/runnable.h>
#include <memory>
+#include <vespa/vespalib/util/runnable.h>
+#include <vbench/core/taintable.h>
namespace vbench {
diff --git a/vbench/src/vbench/vbench/ignore_before.h b/vbench/src/vbench/vbench/ignore_before.h
index a2786a0c340..d74a398efd8 100644
--- a/vbench/src/vbench/vbench/ignore_before.h
+++ b/vbench/src/vbench/vbench/ignore_before.h
@@ -1,10 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
+#include <vbench/core/handler.h>
#include "request.h"
#include "analyzer.h"
-#include <vbench/core/handler.h>
namespace vbench {
@@ -21,8 +22,9 @@ private:
public:
IgnoreBefore(double time, Handler<Request> &next);
- void handle(Request::UP request) override;
- void report() override;
+ virtual void handle(Request::UP request) override;
+ virtual void report() override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/latency_analyzer.cpp b/vbench/src/vbench/vbench/latency_analyzer.cpp
index baefa0ab138..32cd6387722 100644
--- a/vbench/src/vbench/vbench/latency_analyzer.cpp
+++ b/vbench/src/vbench/vbench/latency_analyzer.cpp
@@ -1,5 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <vespa/fastos/fastos.h>
#include "latency_analyzer.h"
#include <cmath>
diff --git a/vbench/src/vbench/vbench/latency_analyzer.h b/vbench/src/vbench/vbench/latency_analyzer.h
index 162fa93a0a3..499f6f3b991 100644
--- a/vbench/src/vbench/vbench/latency_analyzer.h
+++ b/vbench/src/vbench/vbench/latency_analyzer.h
@@ -1,7 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
+#include <vbench/core/handler.h>
+#include <vbench/core/string.h>
+#include "request.h"
#include "analyzer.h"
namespace vbench {
@@ -35,10 +39,11 @@ public:
string toString() const;
};
LatencyAnalyzer(Handler<Request> &next);
- void handle(Request::UP request) override;
- void report() override;
+ virtual void handle(Request::UP request) override;
+ virtual void report() override;
void addLatency(double latency);
Stats getStats() const;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/qps_analyzer.h b/vbench/src/vbench/vbench/qps_analyzer.h
index 10625a89762..4b4b4997f62 100644
--- a/vbench/src/vbench/vbench/qps_analyzer.h
+++ b/vbench/src/vbench/vbench/qps_analyzer.h
@@ -1,7 +1,10 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
+#include <vbench/core/handler.h>
+#include "request.h"
#include "analyzer.h"
namespace vbench {
@@ -21,9 +24,10 @@ private:
public:
QpsAnalyzer(Handler<Request> &next);
- void handle(Request::UP request) override;
- void report() override;
+ virtual void handle(Request::UP request) override;
+ virtual void report() override;
void addEndTime(double end);
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/qps_tagger.h b/vbench/src/vbench/vbench/qps_tagger.h
index 492ae324dc0..452ee8fb827 100644
--- a/vbench/src/vbench/vbench/qps_tagger.h
+++ b/vbench/src/vbench/vbench/qps_tagger.h
@@ -1,9 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "tagger.h"
+#include <vbench/core/handler.h>
+
#include "request.h"
+#include "tagger.h"
namespace vbench {
@@ -19,7 +22,8 @@ private:
public:
QpsTagger(double qps, Handler<Request> &next);
- void handle(Request::UP request) override;
+ virtual void handle(Request::UP request) override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/request.h b/vbench/src/vbench/vbench/request.h
index c3eab1ab75b..4951c96fbab 100644
--- a/vbench/src/vbench/vbench/request.h
+++ b/vbench/src/vbench/vbench/request.h
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
#include <vbench/core/string.h>
@@ -67,9 +68,9 @@ public:
double latency() const { return (_endTime - _startTime); }
- void handleHeader(const string &name, const string &value) override;
- void handleContent(const Memory &data) override;
- void handleFailure(const string &reason) override;
+ virtual void handleHeader(const string &name, const string &value) override;
+ virtual void handleContent(const Memory &data) override;
+ virtual void handleFailure(const string &reason) override;
const BenchmarkHeaders &headers() const { return _headers; }
@@ -77,3 +78,4 @@ public:
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/request_dumper.h b/vbench/src/vbench/vbench/request_dumper.h
index a06e7224c4f..aede956477c 100644
--- a/vbench/src/vbench/vbench/request_dumper.h
+++ b/vbench/src/vbench/vbench/request_dumper.h
@@ -1,7 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
+#include <vbench/core/handler.h>
+
+#include "request.h"
#include "analyzer.h"
namespace vbench {
@@ -17,8 +21,9 @@ private:
public:
RequestDumper(Handler<Request> &_next);
- void handle(Request::UP request) override;
- void report() override;
+ virtual void handle(Request::UP request) override;
+ virtual void report() override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/request_generator.h b/vbench/src/vbench/vbench/request_generator.h
index ac2b18cf928..38f2c7ad7f8 100644
--- a/vbench/src/vbench/vbench/request_generator.h
+++ b/vbench/src/vbench/vbench/request_generator.h
@@ -1,12 +1,16 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "generator.h"
-#include "request.h"
+#include <vespa/vespalib/util/runnable.h>
#include <vbench/core/input_file_reader.h>
+#include <vbench/core/taintable.h>
#include <vbench/core/handler.h>
+#include "request.h"
+#include "generator.h"
+
namespace vbench {
/**
@@ -21,10 +25,12 @@ private:
bool _aborted;
public:
- RequestGenerator(const string &inputFile, Handler<Request> &next);
+ RequestGenerator(const string &inputFile,
+ Handler<Request> &next);
void abort() override;
- void run() override;
- const Taint &tainted() const override { return _input.tainted(); }
+ virtual void run() override;
+ virtual const Taint &tainted() const override { return _input.tainted(); }
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/request_scheduler.h b/vbench/src/vbench/vbench/request_scheduler.h
index 60fe4af12fc..1de61073d35 100644
--- a/vbench/src/vbench/vbench/request_scheduler.h
+++ b/vbench/src/vbench/vbench/request_scheduler.h
@@ -1,14 +1,23 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "worker.h"
-#include "dropped_tagger.h"
+#include <memory>
+
+#include <vespa/vespalib/util/sync.h>
+#include <vespa/vespalib/util/thread.h>
+#include <vespa/vespalib/util/runnable.h>
+#include <vespa/vespalib/util/active.h>
+
+#include <vbench/core/handler.h>
#include <vbench/core/time_queue.h>
#include <vbench/core/dispatcher.h>
#include <vbench/core/handler_thread.h>
-#include <vespa/vespalib/util/sync.h>
-#include <vespa/vespalib/util/active.h>
+
+#include "request.h"
+#include "worker.h"
+#include "dropped_tagger.h"
namespace vbench {
@@ -31,15 +40,16 @@ private:
HttpConnectionPool _connectionPool;
std::vector<Worker::UP> _workers;
- void run() override;
+ virtual void run() override;
public:
typedef std::unique_ptr<RequestScheduler> UP;
RequestScheduler(Handler<Request> &next, size_t numWorkers);
void abort();
- void handle(Request::UP request) override;
- void start() override;
- RequestScheduler &stop() override;
- void join() override;
+ virtual void handle(Request::UP request) override;
+ virtual void start() override;
+ virtual RequestScheduler &stop() override;
+ virtual void join() override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/request_sink.h b/vbench/src/vbench/vbench/request_sink.h
index 9c9d46775e5..37c6ce71fcc 100644
--- a/vbench/src/vbench/vbench/request_sink.h
+++ b/vbench/src/vbench/vbench/request_sink.h
@@ -1,5 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
#include "analyzer.h"
@@ -14,8 +15,9 @@ class RequestSink : public Analyzer
{
public:
RequestSink();
- void handle(Request::UP request) override;
- void report() override;
+ virtual void handle(Request::UP request) override;
+ virtual void report() override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/server_tagger.h b/vbench/src/vbench/vbench/server_tagger.h
index 5e760dc02e5..6115873bb0c 100644
--- a/vbench/src/vbench/vbench/server_tagger.h
+++ b/vbench/src/vbench/vbench/server_tagger.h
@@ -1,9 +1,13 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "tagger.h"
#include <vbench/http/server_spec.h>
+#include <vbench/core/handler.h>
+
+#include "request.h"
+#include "tagger.h"
namespace vbench {
@@ -17,8 +21,10 @@ private:
Handler<Request> &_next;
public:
- ServerTagger(const ServerSpec &server, Handler<Request> &next);
- void handle(Request::UP request) override;
+ ServerTagger(const ServerSpec &server,
+ Handler<Request> &next);
+ virtual void handle(Request::UP request) override;
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/tagger.h b/vbench/src/vbench/vbench/tagger.h
index 225b83d5433..c19319e39e2 100644
--- a/vbench/src/vbench/vbench/tagger.h
+++ b/vbench/src/vbench/vbench/tagger.h
@@ -1,10 +1,13 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "request.h"
+#include <memory>
#include <vbench/core/handler.h>
+#include "request.h"
+
namespace vbench {
struct Tagger : public Handler<Request>
@@ -14,3 +17,4 @@ struct Tagger : public Handler<Request>
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/vbench.h b/vbench/src/vbench/vbench/vbench.h
index 186bdeeac17..5796b3dab76 100644
--- a/vbench/src/vbench/vbench/vbench.h
+++ b/vbench/src/vbench/vbench/vbench.h
@@ -1,7 +1,14 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
+#include <memory>
+
+#include <vespa/vespalib/util/runnable.h>
+#include <vbench/core/taintable.h>
+#include <vespa/vespalib/data/slime/slime.h>
+
#include "analyzer.h"
#include "generator.h"
#include "latency_analyzer.h"
@@ -13,8 +20,6 @@
#include "request_sink.h"
#include "server_tagger.h"
#include "tagger.h"
-#include <vbench/core/taintable.h>
-#include <vespa/vespalib/data/slime/slime.h>
namespace vbench {
@@ -37,8 +42,9 @@ private:
public:
VBench(const vespalib::Slime &cfg);
void abort();
- void run() override;
- const Taint &tainted() const override { return _taint; }
+ virtual void run() override;
+ virtual const Taint &tainted() const override { return _taint; }
};
} // namespace vbench
+
diff --git a/vbench/src/vbench/vbench/worker.h b/vbench/src/vbench/vbench/worker.h
index 8e9a5119f31..cdadaf87cd3 100644
--- a/vbench/src/vbench/vbench/worker.h
+++ b/vbench/src/vbench/vbench/worker.h
@@ -1,15 +1,20 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#pragma once
-#include "request.h"
-#include <vbench/core/provider.h>
-#include <vbench/core/handler.h>
-#include <vbench/http/http_connection_pool.h>
+#include <memory>
+
#include <vespa/vespalib/util/runnable.h>
#include <vespa/vespalib/util/thread.h>
#include <vespa/vespalib/util/joinable.h>
+#include <vbench/core/provider.h>
+#include <vbench/core/handler.h>
+#include <vbench/http/http_connection_pool.h>
+
+#include "request.h"
+
namespace vbench {
/**
@@ -28,12 +33,13 @@ private:
HttpConnectionPool &_pool;
Timer &_timer;
- void run() override;
+ virtual void run() override;
public:
typedef std::unique_ptr<Worker> UP;
Worker(Provider<Request> &provider, Handler<Request> &next,
HttpConnectionPool &pool, Timer &timer);
- void join() override { _thread.join(); }
+ virtual void join() override { _thread.join(); }
};
} // namespace vbench
+