diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2017-04-24 12:10:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-24 12:10:42 +0200 |
commit | 9ff4bdb407ed8d855a3f86a17c99906ff738177b (patch) | |
tree | fc2b050224d7dde92d57e1f9cac12c1e5aaf6b90 /vbench/src | |
parent | 32ae190acc9ac5081049e1c7008d1602c68cf821 (diff) |
Revert "Balder/enforce override 2"
Diffstat (limited to 'vbench/src')
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 + |