diff options
author | Haavard <havardpe@yahoo-inc.com> | 2017-02-03 13:48:49 +0000 |
---|---|---|
committer | Haavard <havardpe@yahoo-inc.com> | 2017-02-03 18:16:45 +0000 |
commit | 324c400925b1d8e4dfb700dd7253e467407e8db7 (patch) | |
tree | 9148cce12e27bd44c3b71d0140fe50c741add393 /vbench | |
parent | 439a2d738d072598ec44e3f87f9436a10d6af1e5 (diff) |
use new input/output model in vbench
Diffstat (limited to 'vbench')
53 files changed, 116 insertions, 763 deletions
diff --git a/vbench/CMakeLists.txt b/vbench/CMakeLists.txt index 05ba9815ddc..fe6873d2b8d 100644 --- a/vbench/CMakeLists.txt +++ b/vbench/CMakeLists.txt @@ -20,8 +20,6 @@ vespa_define_module( src/tests/app_dumpurl src/tests/app_vbench src/tests/benchmark_headers - src/tests/buffered_output - src/tests/byte_input src/tests/dispatcher src/tests/dropped_tagger src/tests/handler_thread @@ -33,7 +31,6 @@ vespa_define_module( src/tests/latency_analyzer src/tests/line_reader src/tests/mapped_file_input - src/tests/memory src/tests/qps_analyzer src/tests/qps_tagger src/tests/request_dumper @@ -42,10 +39,8 @@ vespa_define_module( src/tests/server_socket src/tests/server_spec src/tests/server_tagger - src/tests/simple_buffer src/tests/socket src/tests/taint src/tests/time_queue src/tests/timer - src/tests/writable_memory ) diff --git a/vbench/src/tests/app_dumpurl/app_dumpurl_test.cpp b/vbench/src/tests/app_dumpurl/app_dumpurl_test.cpp index 2135d53acba..b74f0f4f866 100644 --- a/vbench/src/tests/app_dumpurl/app_dumpurl_test.cpp +++ b/vbench/src/tests/app_dumpurl/app_dumpurl_test.cpp @@ -6,16 +6,19 @@ using namespace vbench; using vespalib::SlaveProc; +using InputReader = vespalib::InputReader; +using OutputWriter = vespalib::OutputWriter; + bool endsWith(const Memory &mem, const string &str) { return (mem.size < str.size()) ? false : (strncmp(mem.data + mem.size - str.size(), str.data(), str.size()) == 0); } void readUntil(Input &input, SimpleBuffer &buffer, const string &end) { - ByteInput in(input); + InputReader in(input); while (!endsWith(buffer.get(), end)) { - int c = in.get(); - if (c < 0) { + char c = in.read(); + if (in.failed()) { return; } buffer.reserve(1).data[0] = c; @@ -34,11 +37,11 @@ TEST_MT_F("run dumpurl", 2, ServerSocket()) { Stream::UP stream = f1.accept(); SimpleBuffer ignore; readUntil(*stream, ignore, "\r\n\r\n"); - BufferedOutput out(*stream, 256); - out.append("HTTP/1.1 200\r\n"); - out.append("content-length: 4\r\n"); - out.append("\r\n"); - out.append("data"); + OutputWriter out(*stream, 256); + out.write("HTTP/1.1 200\r\n"); + out.write("content-length: 4\r\n"); + out.write("\r\n"); + out.write("data"); } else { std::string out; EXPECT_TRUE(SlaveProc::run(strfmt("../../apps/dumpurl/vbench_dumpurl_app localhost %d /foo", diff --git a/vbench/src/tests/app_vbench/app_vbench_test.cpp b/vbench/src/tests/app_vbench/app_vbench_test.cpp index d1285255959..e65dd9badc0 100644 --- a/vbench/src/tests/app_vbench/app_vbench_test.cpp +++ b/vbench/src/tests/app_vbench/app_vbench_test.cpp @@ -6,16 +6,19 @@ using namespace vbench; using vespalib::SlaveProc; +using InputReader = vespalib::InputReader; +using OutputWriter = vespalib::OutputWriter; + bool endsWith(const Memory &mem, const string &str) { return (mem.size < str.size()) ? false : (strncmp(mem.data + mem.size - str.size(), str.data(), str.size()) == 0); } void readUntil(Input &input, SimpleBuffer &buffer, const string &end) { - ByteInput in(input); + InputReader in(input); while (!endsWith(buffer.get(), end)) { - int c = in.get(); - if (c < 0) { + char c = in.read(); + if (in.failed()) { return; } buffer.reserve(1).data[0] = c; @@ -38,13 +41,13 @@ TEST_MT_F("run vbench", 2, ServerSocket()) { } SimpleBuffer ignore; readUntil(*stream, ignore, "\r\n\r\n"); - BufferedOutput out(*stream, 256); - out.append("HTTP/1.1 200\r\n"); - out.append("content-length: 4\r\n"); - out.append("X-Yahoo-Vespa-NumHits 10\r\n"); - out.append("X-Yahoo-Vespa-TotalHitCount 100\r\n"); - out.append("\r\n"); - out.append("data"); + OutputWriter out(*stream, 256); + out.write("HTTP/1.1 200\r\n"); + out.write("content-length: 4\r\n"); + out.write("X-Yahoo-Vespa-NumHits 10\r\n"); + out.write("X-Yahoo-Vespa-TotalHitCount 100\r\n"); + out.write("\r\n"); + out.write("data"); } } else { std::string out; diff --git a/vbench/src/tests/buffered_output/.gitignore b/vbench/src/tests/buffered_output/.gitignore deleted file mode 100644 index ba59218c6c5..00000000000 --- a/vbench/src/tests/buffered_output/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vbench_buffered_output_test_app diff --git a/vbench/src/tests/buffered_output/CMakeLists.txt b/vbench/src/tests/buffered_output/CMakeLists.txt deleted file mode 100644 index c9c3386b0e4..00000000000 --- a/vbench/src/tests/buffered_output/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vbench_buffered_output_test_app TEST - SOURCES - buffered_output_test.cpp - DEPENDS - vbench_test - vbench -) -vespa_add_test(NAME vbench_buffered_output_test_app COMMAND vbench_buffered_output_test_app) diff --git a/vbench/src/tests/buffered_output/FILES b/vbench/src/tests/buffered_output/FILES deleted file mode 100644 index 86ca0ac84c1..00000000000 --- a/vbench/src/tests/buffered_output/FILES +++ /dev/null @@ -1 +0,0 @@ -buffered_output_test.cpp diff --git a/vbench/src/tests/buffered_output/buffered_output_test.cpp b/vbench/src/tests/buffered_output/buffered_output_test.cpp deleted file mode 100644 index 9514d619f77..00000000000 --- a/vbench/src/tests/buffered_output/buffered_output_test.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/testapp.h> -#include <vbench/test/all.h> - -using namespace vbench; - -TEST("buffered output") { - SimpleBuffer buffer; - { // produce data - BufferedOutput dst(buffer, 3); - dst.append('a').append('b').append('c').append('\n'); - dst.append("foo bar").append('\n'); - dst.append(string("str")).append('\n'); - dst.printf("%d + %d = %d\n", 2, 2, 4); - } - { // verify data - LineReader src(buffer); - string str; - EXPECT_TRUE(src.readLine(str)); - EXPECT_EQUAL("abc", str); - EXPECT_TRUE(src.readLine(str)); - EXPECT_EQUAL("foo bar", str); - EXPECT_TRUE(src.readLine(str)); - EXPECT_EQUAL("str", str); - EXPECT_TRUE(src.readLine(str)); - EXPECT_EQUAL("2 + 2 = 4", str); - EXPECT_TRUE(!src.readLine(str)); - EXPECT_EQUAL("", str); - } -} - -TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/vbench/src/tests/byte_input/.gitignore b/vbench/src/tests/byte_input/.gitignore deleted file mode 100644 index 350435ffda4..00000000000 --- a/vbench/src/tests/byte_input/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vbench_byte_input_test_app diff --git a/vbench/src/tests/byte_input/CMakeLists.txt b/vbench/src/tests/byte_input/CMakeLists.txt deleted file mode 100644 index 3c946c223b6..00000000000 --- a/vbench/src/tests/byte_input/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vbench_byte_input_test_app TEST - SOURCES - byte_input_test.cpp - DEPENDS - vbench_test - vbench -) -vespa_add_test(NAME vbench_byte_input_test_app COMMAND vbench_byte_input_test_app) diff --git a/vbench/src/tests/byte_input/FILES b/vbench/src/tests/byte_input/FILES deleted file mode 100644 index c625277f587..00000000000 --- a/vbench/src/tests/byte_input/FILES +++ /dev/null @@ -1 +0,0 @@ -byte_input_test.cpp diff --git a/vbench/src/tests/byte_input/byte_input_test.cpp b/vbench/src/tests/byte_input/byte_input_test.cpp deleted file mode 100644 index 28bc3c7b3ad..00000000000 --- a/vbench/src/tests/byte_input/byte_input_test.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/testapp.h> -#include <vbench/test/all.h> - -using namespace vbench; - -TEST("byte input") { - SimpleBuffer buffer; - { - BufferedOutput out(buffer, 10); - out.append("abcdefgh"); - } - EXPECT_EQUAL(8u, buffer.get().size); - { - ByteInput in(buffer); - EXPECT_EQUAL('a', in.get()); - EXPECT_EQUAL('b', in.get()); - EXPECT_EQUAL('c', in.get()); - EXPECT_EQUAL('d', in.get()); - } - EXPECT_EQUAL(4u, buffer.get().size); - { - ByteInput in(buffer); - EXPECT_EQUAL('e', in.get()); - EXPECT_EQUAL('f', in.get()); - EXPECT_EQUAL('g', in.get()); - EXPECT_EQUAL('h', in.get()); - EXPECT_EQUAL(-1, in.get()); - EXPECT_EQUAL(-1, in.get()); - } - EXPECT_EQUAL(0u, buffer.get().size); - { - ByteInput in(buffer); - EXPECT_EQUAL(-1, in.get()); - } - EXPECT_EQUAL(0u, buffer.get().size); -} - -TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/vbench/src/tests/http_client/http_client_test.cpp b/vbench/src/tests/http_client/http_client_test.cpp index 55cb899f5cb..50331dc1fbe 100644 --- a/vbench/src/tests/http_client/http_client_test.cpp +++ b/vbench/src/tests/http_client/http_client_test.cpp @@ -4,6 +4,9 @@ using namespace vbench; +using InputReader = vespalib::InputReader; +using OutputWriter = vespalib::OutputWriter; + void checkMemory(const string &expect, const Memory &mem) { EXPECT_EQUAL(expect, string(mem.data, mem.size)); } @@ -14,10 +17,10 @@ bool endsWith(const Memory &mem, const string &str) { } void readUntil(Input &input, SimpleBuffer &buffer, const string &end) { - ByteInput in(input); + InputReader in(input); while (!endsWith(buffer.get(), end)) { - int c = in.get(); - if (c < 0) { + char c = in.read(); + if (in.failed()) { return; } buffer.reserve(1).data[0] = c; @@ -29,13 +32,13 @@ TEST_MT_F("verify request", 2, ServerSocket()) { if (thread_id == 0) { SimpleBuffer expect; { - BufferedOutput dst(expect, 256); - dst.append("GET /this/is/the/url HTTP/1.1\r\n"); - dst.append("Host: localhost\r\n"); - dst.append("User-Agent: vbench\r\n"); - dst.append("X-Yahoo-Vespa-Benchmarkdata: true\r\n"); - dst.append("X-Yahoo-Vespa-Benchmarkdata-Coverage: true\r\n"); - dst.append("\r\n"); + OutputWriter out(expect, 256); + out.write("GET /this/is/the/url HTTP/1.1\r\n"); + out.write("Host: localhost\r\n"); + out.write("User-Agent: vbench\r\n"); + out.write("X-Yahoo-Vespa-Benchmarkdata: true\r\n"); + out.write("X-Yahoo-Vespa-Benchmarkdata-Coverage: true\r\n"); + out.write("\r\n"); } SimpleBuffer actual; Stream::UP stream = f1.accept(); @@ -54,10 +57,10 @@ TEST_MT_F("verify connection close", 2, ServerSocket()) { Stream::UP stream = f1.accept(); SimpleBuffer ignore; readUntil(*stream, ignore, "\r\n\r\n"); - BufferedOutput out(*stream, 256); - out.append("HTTP/1.0 200\r\n"); - out.append("\r\n"); - out.append("data"); + OutputWriter out(*stream, 256); + out.write("HTTP/1.0 200\r\n"); + out.write("\r\n"); + out.write("data"); } else { SimpleHttpResultHandler handler; HttpClient::fetch(ServerSpec("localhost", f1.port()), @@ -73,11 +76,11 @@ TEST_MT_F("verify content length", 2, ServerSocket()) { Stream::UP stream = f1.accept(); SimpleBuffer ignore; readUntil(*stream, ignore, "\r\n\r\n"); - BufferedOutput out(*stream, 256); - out.append("HTTP/1.1 200\r\n"); - out.append("content-length: 4\r\n"); - out.append("\r\n"); - out.append("data"); + OutputWriter out(*stream, 256); + out.write("HTTP/1.1 200\r\n"); + out.write("content-length: 4\r\n"); + out.write("\r\n"); + out.write("data"); } else { SimpleHttpResultHandler handler; HttpClient::fetch(ServerSpec("localhost", f1.port()), @@ -93,16 +96,16 @@ TEST_MT_F("verify chunked encoding", 2, ServerSocket()) { Stream::UP stream = f1.accept(); SimpleBuffer ignore; readUntil(*stream, ignore, "\r\n\r\n"); - BufferedOutput out(*stream, 256); - out.append("HTTP/1.1 200\r\n"); - out.append("transfer-encoding: chunked\r\n"); - out.append("\r\n"); - out.append("2\r\n"); - out.append("da\r\n"); - out.append("2\r\n"); - out.append("ta\r\n"); - out.append("0\r\n"); - out.append("\r\n"); + OutputWriter out(*stream, 256); + out.write("HTTP/1.1 200\r\n"); + out.write("transfer-encoding: chunked\r\n"); + out.write("\r\n"); + out.write("2\r\n"); + out.write("da\r\n"); + out.write("2\r\n"); + out.write("ta\r\n"); + out.write("0\r\n"); + out.write("\r\n"); } else { SimpleHttpResultHandler handler; HttpClient::fetch(ServerSpec("localhost", f1.port()), diff --git a/vbench/src/tests/input_reader/.gitignore b/vbench/src/tests/input_reader/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 --- a/vbench/src/tests/input_reader/.gitignore +++ /dev/null diff --git a/vbench/src/tests/line_reader/line_reader_test.cpp b/vbench/src/tests/line_reader/line_reader_test.cpp index 1b893a4ca15..e731bc1bc9a 100644 --- a/vbench/src/tests/line_reader/line_reader_test.cpp +++ b/vbench/src/tests/line_reader/line_reader_test.cpp @@ -4,16 +4,19 @@ using namespace vbench; +using OutputWriter = vespalib::OutputWriter; +using SimpleBuffer = vespalib::SimpleBuffer; + TEST("line reader") { SimpleBuffer buffer; { - BufferedOutput dst(buffer, 64); - dst.append("foo\n"); - dst.append("bar\r\n"); - dst.append("\n"); - dst.append("\rbaz\n"); - dst.append("\r\n"); - dst.append("zzz"); + OutputWriter dst(buffer, 64); + dst.write("foo\n"); + dst.write("bar\r\n"); + dst.write("\n"); + dst.write("\rbaz\n"); + dst.write("\r\n"); + dst.write("zzz"); } { LineReader src(buffer); diff --git a/vbench/src/tests/memory/.gitignore b/vbench/src/tests/memory/.gitignore deleted file mode 100644 index e1fd81a3e7c..00000000000 --- a/vbench/src/tests/memory/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vbench_memory_test_app diff --git a/vbench/src/tests/memory/CMakeLists.txt b/vbench/src/tests/memory/CMakeLists.txt deleted file mode 100644 index c2dc5b45306..00000000000 --- a/vbench/src/tests/memory/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vbench_memory_test_app TEST - SOURCES - memory_test.cpp - DEPENDS - vbench_test - vbench -) -vespa_add_test(NAME vbench_memory_test_app COMMAND vbench_memory_test_app) diff --git a/vbench/src/tests/memory/FILES b/vbench/src/tests/memory/FILES deleted file mode 100644 index 3627eec5ec7..00000000000 --- a/vbench/src/tests/memory/FILES +++ /dev/null @@ -1 +0,0 @@ -memory_test.cpp diff --git a/vbench/src/tests/memory/memory_test.cpp b/vbench/src/tests/memory/memory_test.cpp deleted file mode 100644 index 9504914d191..00000000000 --- a/vbench/src/tests/memory/memory_test.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/testapp.h> -#include <vbench/test/all.h> - -using namespace vbench; - -TEST("empty memory") { - Memory m; - EXPECT_EQUAL((const char*)0, m.data); - EXPECT_EQUAL(0u, m.size); -} - -TEST("from string") { - string str("foo"); - Memory m1(str); - Memory m2 = str; - EXPECT_EQUAL(str.data(), m1.data); - EXPECT_EQUAL(str.size(), m1.size); - EXPECT_EQUAL(str.data(), m2.data); - EXPECT_EQUAL(str.size(), m2.size); -} - -TEST("from cstring") { - const char *str = "foo"; - Memory m1(str); - Memory m2 = str; - EXPECT_EQUAL(str, m1.data); - EXPECT_EQUAL(strlen(str), m1.size); - EXPECT_EQUAL(str, m2.data); - EXPECT_EQUAL(strlen(str), m2.size); -} - -TEST("from ptr and len") { - string str("foo"); - Memory m1(str.data(), str.size()); - EXPECT_EQUAL(str.data(), m1.data); - EXPECT_EQUAL(str.size(), m1.size); -} - -TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/vbench/src/tests/simple_buffer/.gitignore b/vbench/src/tests/simple_buffer/.gitignore deleted file mode 100644 index f40426a6708..00000000000 --- a/vbench/src/tests/simple_buffer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vbench_simple_buffer_test_app diff --git a/vbench/src/tests/simple_buffer/CMakeLists.txt b/vbench/src/tests/simple_buffer/CMakeLists.txt deleted file mode 100644 index 97ce39faa4e..00000000000 --- a/vbench/src/tests/simple_buffer/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vbench_simple_buffer_test_app TEST - SOURCES - simple_buffer_test.cpp - DEPENDS - vbench_test - vbench -) -vespa_add_test(NAME vbench_simple_buffer_test_app COMMAND vbench_simple_buffer_test_app) diff --git a/vbench/src/tests/simple_buffer/FILES b/vbench/src/tests/simple_buffer/FILES deleted file mode 100644 index 3669f575911..00000000000 --- a/vbench/src/tests/simple_buffer/FILES +++ /dev/null @@ -1 +0,0 @@ -simple_buffer_test.cpp diff --git a/vbench/src/tests/simple_buffer/simple_buffer_test.cpp b/vbench/src/tests/simple_buffer/simple_buffer_test.cpp deleted file mode 100644 index f0be5766e55..00000000000 --- a/vbench/src/tests/simple_buffer/simple_buffer_test.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/testapp.h> -#include <vbench/test/all.h> - -using namespace vbench; - -void checkMemory(const string &expect, const Memory &mem) { - EXPECT_EQUAL(expect, string(mem.data, mem.size)); -} - -void checkBuffer(const string &expect, const SimpleBuffer &buf) { - TEST_DO(checkMemory(expect, buf.get())); -} - -TEST("simple buffer") { - SimpleBuffer buf; - TEST_DO(checkBuffer("", buf)); - { // read from empty buffer - EXPECT_EQUAL(0u, buf.obtain().size); - } - { // write to buffer - WritableMemory mem = buf.reserve(10); - TEST_DO(checkBuffer("", buf)); - EXPECT_EQUAL(10u, mem.size); - mem.data[0] = 'a'; - mem.data[1] = 'b'; - mem.data[2] = 'c'; - EXPECT_EQUAL(&buf, &buf.commit(3)); - mem = buf.reserve(0); - TEST_DO(checkBuffer("abc", buf)); - EXPECT_EQUAL(0u, mem.size); - } - { // read without evicting last byte - Memory mem = buf.obtain(); - TEST_DO(checkBuffer("abc", buf)); - TEST_DO(checkMemory("abc", mem)); - EXPECT_EQUAL(&buf, &buf.evict(2)); - mem = buf.obtain(); - TEST_DO(checkBuffer("c", buf)); - TEST_DO(checkMemory("c", mem)); - mem = buf.obtain(); - TEST_DO(checkBuffer("c", buf)); - TEST_DO(checkMemory("c", mem)); - } - { // write more to buffer - WritableMemory mem = buf.reserve(10); - EXPECT_EQUAL(10u, mem.size); - TEST_DO(checkBuffer("c", buf)); - mem.data[0] = 'd'; - EXPECT_EQUAL(&buf, &buf.commit(1)); - mem = buf.reserve(5); - TEST_DO(checkBuffer("cd", buf)); - EXPECT_EQUAL(5u, mem.size); - } - { // read until end - Memory mem = buf.obtain(); - TEST_DO(checkBuffer("cd", buf)); - TEST_DO(checkMemory("cd", mem)); - EXPECT_EQUAL(&buf, &buf.evict(1)); - mem = buf.obtain(); - TEST_DO(checkBuffer("d", buf)); - TEST_DO(checkMemory("d", mem)); - EXPECT_EQUAL(&buf, &buf.evict(1)); - mem = buf.obtain(); - TEST_DO(checkBuffer("", buf)); - TEST_DO(checkMemory("", mem)); - } -} - -TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/vbench/src/tests/socket/socket_test.cpp b/vbench/src/tests/socket/socket_test.cpp index e49a31773f3..02d4caed507 100644 --- a/vbench/src/tests/socket/socket_test.cpp +++ b/vbench/src/tests/socket/socket_test.cpp @@ -4,17 +4,19 @@ using namespace vbench; +using OutputWriter = vespalib::OutputWriter; + const size_t numLines = 100; struct Agent { Stream::UP socket; Agent(Stream::UP s) : socket(std::move(s)) {} void write(const char *prefix) { - BufferedOutput out(*socket, 32); + OutputWriter out(*socket, 32); for (size_t i = 0; i < numLines; ++i) { out.printf("%s%zu\n", prefix, i); } - out.append("\n"); + out.write("\n"); } void read(const char *prefix) { LineReader reader(*socket); diff --git a/vbench/src/tests/writable_memory/.gitignore b/vbench/src/tests/writable_memory/.gitignore deleted file mode 100644 index 00061ea18f7..00000000000 --- a/vbench/src/tests/writable_memory/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vbench_writable_memory_test_app diff --git a/vbench/src/tests/writable_memory/CMakeLists.txt b/vbench/src/tests/writable_memory/CMakeLists.txt deleted file mode 100644 index 8b480ff05af..00000000000 --- a/vbench/src/tests/writable_memory/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vbench_writable_memory_test_app TEST - SOURCES - writable_memory_test.cpp - DEPENDS - vbench_test - vbench -) -vespa_add_test(NAME vbench_writable_memory_test_app COMMAND vbench_writable_memory_test_app) diff --git a/vbench/src/tests/writable_memory/FILES b/vbench/src/tests/writable_memory/FILES deleted file mode 100644 index 14718444a2e..00000000000 --- a/vbench/src/tests/writable_memory/FILES +++ /dev/null @@ -1 +0,0 @@ -writable_memory_test.cpp diff --git a/vbench/src/tests/writable_memory/writable_memory_test.cpp b/vbench/src/tests/writable_memory/writable_memory_test.cpp deleted file mode 100644 index 2be9d6b5153..00000000000 --- a/vbench/src/tests/writable_memory/writable_memory_test.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/testapp.h> -#include <vbench/test/all.h> - -using namespace vbench; - -TEST("empty") { - WritableMemory wm; - EXPECT_EQUAL((char*)0, wm.data); - EXPECT_EQUAL(0u, wm.size); -} - -TEST("from buffer") { - char buf[3]; - WritableMemory wm(buf, 3); - EXPECT_EQUAL(buf, wm.data); - EXPECT_EQUAL(3u, wm.size); -} - -TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/vbench/src/vbench/core/CMakeLists.txt b/vbench/src/vbench/core/CMakeLists.txt index 3817a4c6950..c97a2c67cb4 100644 --- a/vbench/src/vbench/core/CMakeLists.txt +++ b/vbench/src/vbench/core/CMakeLists.txt @@ -1,20 +1,14 @@ # Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. vespa_add_library(vbench_core OBJECT SOURCES - buffered_output.cpp - byte_input.cpp closeable.cpp dispatcher.cpp handler.cpp handler_thread.cpp - input.cpp input_file_reader.cpp line_reader.cpp mapped_file_input.cpp - memory.cpp - output.cpp provider.cpp - simple_buffer.cpp socket.cpp stream.cpp string.cpp @@ -22,6 +16,5 @@ vespa_add_library(vbench_core OBJECT taintable.cpp time_queue.cpp timer.cpp - writable_memory.cpp DEPENDS ) diff --git a/vbench/src/vbench/core/buffered_output.cpp b/vbench/src/vbench/core/buffered_output.cpp deleted file mode 100644 index 36e01e55fd5..00000000000 --- a/vbench/src/vbench/core/buffered_output.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// 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 "buffered_output.h" - -namespace vbench { - -BufferedOutput & -BufferedOutput::printf(const char *fmt, ...) -{ - ensureFree(256); - int space = (_data.size - _pos); - int size; - va_list ap; - va_start(ap, fmt); - size = vsnprintf(_data.data + _pos, space, fmt, ap); - va_end(ap); - assert(size >= 0); - if (size >= space) { - space = size + 1; - ensureFree(space); - va_start(ap, fmt); - size = vsnprintf(_data.data + _pos, space, fmt, ap); - va_end(ap); - assert((size + 1) == space); - } - _pos += size; - return *this; -} - -} // namespace vbench diff --git a/vbench/src/vbench/core/buffered_output.h b/vbench/src/vbench/core/buffered_output.h deleted file mode 100644 index 80ad163869e..00000000000 --- a/vbench/src/vbench/core/buffered_output.h +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "output.h" -#include "string.h" - -namespace vbench { - -/** - * Concrete utility class used to write small amounts of data to an - * output efficiently by buffering the output into larger chunks. - **/ -class BufferedOutput -{ -private: - Output &_output; - WritableMemory _data; - size_t _pos; - size_t _chunkSize; - - void ensureFree(size_t bytes) { - if ((_pos + bytes) > _data.size) { - _data = _output.commit(_pos).reserve(std::max(bytes, _chunkSize)); - _pos = 0; - } - } - -public: - BufferedOutput(Output &output, size_t chunkSize) - : _output(output), _data(), _pos(), _chunkSize(chunkSize) {} - ~BufferedOutput() { _output.commit(_pos); } - - BufferedOutput &append(char c) { - ensureFree(1); - _data.data[_pos++] = c; - return *this; - } - - BufferedOutput &append(const char *data, size_t size) { - ensureFree(size); - memcpy(_data.data + _pos, data, size); - _pos += size; - return *this; - } - - BufferedOutput &append(const string &str) { - return append(str.data(), str.size()); - } - - BufferedOutput &append(const char *str) { - return append(str, strlen(str)); - } - - BufferedOutput &printf(const char *fmt, ...) -#ifdef __GNUC__ - // Add printf format checks with gcc - __attribute__ ((format (printf,2,3))) -#endif - ; -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/core/byte_input.cpp b/vbench/src/vbench/core/byte_input.cpp deleted file mode 100644 index d6753e2cce5..00000000000 --- a/vbench/src/vbench/core/byte_input.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// 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 "byte_input.h" - -namespace vbench { - -} // namespace vbench diff --git a/vbench/src/vbench/core/byte_input.h b/vbench/src/vbench/core/byte_input.h deleted file mode 100644 index 7294c9682bb..00000000000 --- a/vbench/src/vbench/core/byte_input.h +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "input.h" - -namespace vbench { - -/** - * Concrete utility class used to read input data one byte at a time - * by wrapping a generic Input implementation. - **/ -class ByteInput -{ -private: - Input &_input; - Memory _data; - size_t _pos; - -public: - /** - * Wrap an Input to read one byte at a time. - * - * @param input the underlying Input - **/ - ByteInput(Input &input) - : _input(input), _data(), _pos(0) {} - ~ByteInput() { _input.evict(_pos); } - - /** - * Read the next byte of input. - * - * @return next byte of input, or -1 if no more input is available - **/ - int get() { - if (_pos < _data.size) { - return (_data.data[_pos++] & 0xff); - } else { - _data = _input.evict(_pos).obtain(); - if ((_pos = 0) < _data.size) { - return (_data.data[_pos++] & 0xff); - } - } - return -1; - } -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/core/input.cpp b/vbench/src/vbench/core/input.cpp deleted file mode 100644 index b6ffda1f255..00000000000 --- a/vbench/src/vbench/core/input.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// 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 "input.h" - -namespace vbench { - -} // namespace vbench diff --git a/vbench/src/vbench/core/input.h b/vbench/src/vbench/core/input.h deleted file mode 100644 index eceb973a94a..00000000000 --- a/vbench/src/vbench/core/input.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "memory.h" - -namespace vbench { - -/** - * Interface used to abstract a source of input data. Note that the - * input data itself is owned by the object implementing this - * interface. - **/ -struct Input -{ - /** - * Obtain more input data. - * - * @return the obtained input data - **/ - virtual Memory obtain() = 0; - - /** - * Evict processed input data. Never evict more data than you have - * obtained. - * - * @return this object, for chaining - * @param bytes the number of bytes to evict - **/ - virtual Input &evict(size_t bytes) = 0; - - virtual ~Input() {} -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/core/input_file_reader.h b/vbench/src/vbench/core/input_file_reader.h index 919b188d44a..820962bc971 100644 --- a/vbench/src/vbench/core/input_file_reader.h +++ b/vbench/src/vbench/core/input_file_reader.h @@ -5,7 +5,7 @@ #include "string.h" #include "taint.h" #include "mapped_file_input.h" -#include "byte_input.h" +#include <vespa/vespalib/data/input_reader.h> #include "line_reader.h" namespace vbench { diff --git a/vbench/src/vbench/core/line_reader.cpp b/vbench/src/vbench/core/line_reader.cpp index 4a893a1b9fc..4bee590ec8e 100644 --- a/vbench/src/vbench/core/line_reader.cpp +++ b/vbench/src/vbench/core/line_reader.cpp @@ -22,7 +22,7 @@ bool LineReader::readLine(string &dst) { dst.clear(); - for (int c = _input.get(); c >= 0; c = _input.get()) { + for (char c = _input.read(); !_input.failed(); c = _input.read()) { if (c != '\n') { dst.push_back(c); } else { diff --git a/vbench/src/vbench/core/line_reader.h b/vbench/src/vbench/core/line_reader.h index ba5e9e63fc7..4744ba3f016 100644 --- a/vbench/src/vbench/core/line_reader.h +++ b/vbench/src/vbench/core/line_reader.h @@ -2,11 +2,14 @@ #pragma once -#include "byte_input.h" +#include <vespa/vespalib/data/input_reader.h> #include "string.h" namespace vbench { +using Input = vespalib::Input; +using InputReader = vespalib::InputReader; + /** * Concrete utility class used to read individual lines of text from * an underlying input. This class is implemented in terms of the @@ -15,7 +18,7 @@ namespace vbench { class LineReader { private: - ByteInput _input; + InputReader _input; public: /** diff --git a/vbench/src/vbench/core/mapped_file_input.h b/vbench/src/vbench/core/mapped_file_input.h index 197dbf55959..5b22e15b9bb 100644 --- a/vbench/src/vbench/core/mapped_file_input.h +++ b/vbench/src/vbench/core/mapped_file_input.h @@ -2,11 +2,14 @@ #pragma once -#include "input.h" +#include <vespa/vespalib/data/input.h> #include "taintable.h" namespace vbench { +using Input = vespalib::Input; +using Memory = vespalib::Memory; + /** * A Taintable Input implementation reading sequentially from a memory * mapped file. diff --git a/vbench/src/vbench/core/memory.cpp b/vbench/src/vbench/core/memory.cpp deleted file mode 100644 index 75d2c6cc903..00000000000 --- a/vbench/src/vbench/core/memory.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// 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 "memory.h" - -namespace vbench { - -} // namespace vbench diff --git a/vbench/src/vbench/core/memory.h b/vbench/src/vbench/core/memory.h deleted file mode 100644 index 749e7daef15..00000000000 --- a/vbench/src/vbench/core/memory.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "string.h" - -namespace vbench { - -/** - * Simple wrapper referencing a read-only region of memory. - **/ -struct Memory -{ - const char *data; - size_t size; - Memory() : data(0), size(0) {} - Memory(const char *d, size_t s) : data(d), size(s) {} - Memory(const char *str) : data(str), size(strlen(str)) {} - Memory(const string &str) : data(str.data()), size(str.size()) {} -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/core/output.cpp b/vbench/src/vbench/core/output.cpp deleted file mode 100644 index 71f09ccab22..00000000000 --- a/vbench/src/vbench/core/output.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// 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 "output.h" - -namespace vbench { - -} // namespace vbench diff --git a/vbench/src/vbench/core/output.h b/vbench/src/vbench/core/output.h deleted file mode 100644 index 6ad218c9718..00000000000 --- a/vbench/src/vbench/core/output.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "writable_memory.h" - -namespace vbench { - -/** - * Interface used to abstract a destination for output data. Note that - * the output data itself is owned by the object implementing this - * interface. - **/ -struct Output -{ - /** - * Reserve space for more output data. - * - * @return the reserved output data - * @param bytes number of bytes to reserve - **/ - virtual WritableMemory reserve(size_t bytes) = 0; - - /** - * Commit produced output data. Never commit more data than you - * have reserved. - * - * @return this object, for chaining - * @param bytes number of bytes to commit - **/ - virtual Output &commit(size_t bytes) = 0; - - virtual ~Output() {} -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/core/simple_buffer.cpp b/vbench/src/vbench/core/simple_buffer.cpp deleted file mode 100644 index b37696b7e8a..00000000000 --- a/vbench/src/vbench/core/simple_buffer.cpp +++ /dev/null @@ -1,78 +0,0 @@ -// 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 "simple_buffer.h" - -namespace vbench { - -SimpleBuffer::SimpleBuffer() - : _data(), - _used(0) -{ -} - -Memory -SimpleBuffer::obtain() -{ - return Memory(&_data[0], _used); -} - -Input & -SimpleBuffer::evict(size_t bytes) -{ - assert(bytes <= _used); - _data.erase(_data.begin(), _data.begin() + bytes); - _used -= bytes; - return *this; -} - -WritableMemory -SimpleBuffer::reserve(size_t bytes) -{ - _data.resize(_used + bytes, char(0x55)); - return WritableMemory(&_data[_used], bytes); -} - -Output & -SimpleBuffer::commit(size_t bytes) -{ - assert(bytes <= (_data.size() - _used)); - _used += bytes; - return *this; -} - -bool -SimpleBuffer::operator==(const SimpleBuffer &rhs) const -{ - Memory a = get(); - Memory b = rhs.get(); - if (a.size != b.size) { - return false; - } - for (size_t i = 0; i < a.size; ++i) { - if (a.data[i] != b.data[i]) { - return false; - } - } - return true; -} - -std::ostream &operator<<(std::ostream &os, const SimpleBuffer &buf) { - Memory memory = buf.get(); - uint32_t written = 0; - uint32_t hexCount = 25; - os << "size: " << memory.size << "(bytes)" << std::endl; - for (size_t i = 0; i < memory.size; ++i, ++written) { - if (written > hexCount) { - os << std::endl; - written = 0; - } - os << strfmt("0x%02x ", memory.data[i] & 0xff); - } - if (written > 0) { - os << std::endl; - } - return os; -} - -} // namespace vbench diff --git a/vbench/src/vbench/core/simple_buffer.h b/vbench/src/vbench/core/simple_buffer.h deleted file mode 100644 index 3cf55037917..00000000000 --- a/vbench/src/vbench/core/simple_buffer.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include "memory.h" -#include "input.h" -#include "output.h" -#include <ostream> - -namespace vbench { - -/** - * Simple buffer class that implements the Input/Output - * interfaces. Requesting the memory region of this buffer or - * comparing buffers will only look at the data conceptually contained - * in the buffer, ignoring evicted data and reserved data not yet - * committed. - **/ -class SimpleBuffer : public Input, - public Output -{ -private: - std::vector<char> _data; - size_t _used; - -public: - SimpleBuffer(); - Memory get() const { return Memory(&_data[0], _used); } - virtual Memory obtain(); - virtual Input &evict(size_t bytes); - virtual WritableMemory reserve(size_t bytes); - virtual Output &commit(size_t bytes); - bool operator==(const SimpleBuffer &rhs) const; -}; - -std::ostream &operator<<(std::ostream &os, const SimpleBuffer &buf); - -} // namespace vbench - diff --git a/vbench/src/vbench/core/socket.h b/vbench/src/vbench/core/socket.h index 707ea6359aa..358db8ead67 100644 --- a/vbench/src/vbench/core/socket.h +++ b/vbench/src/vbench/core/socket.h @@ -4,13 +4,19 @@ #include "string.h" #include "stream.h" -#include "simple_buffer.h" +#include <vespa/vespalib/data/simple_buffer.h> #include <memory> class FastOS_SocketInterface; namespace vbench { +using Input = vespalib::Input; +using Memory = vespalib::Memory; +using Output = vespalib::Output; +using SimpleBuffer = vespalib::SimpleBuffer; +using WritableMemory = vespalib::WritableMemory; + class Socket : public Stream { private: diff --git a/vbench/src/vbench/core/stream.h b/vbench/src/vbench/core/stream.h index 8a678647e6f..82dccc14f30 100644 --- a/vbench/src/vbench/core/stream.h +++ b/vbench/src/vbench/core/stream.h @@ -2,13 +2,16 @@ #pragma once -#include "input.h" -#include "output.h" +#include <vespa/vespalib/data/input.h> +#include <vespa/vespalib/data/output.h> #include "taintable.h" #include <memory> namespace vbench { +using Input = vespalib::Input; +using Output = vespalib::Output; + /** * A Stream is an abstract taintable entity that can act as both input * and output. diff --git a/vbench/src/vbench/core/writable_memory.cpp b/vbench/src/vbench/core/writable_memory.cpp deleted file mode 100644 index 2da24dba10d..00000000000 --- a/vbench/src/vbench/core/writable_memory.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// 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 "writable_memory.h" - -namespace vbench { - -} // namespace vbench diff --git a/vbench/src/vbench/core/writable_memory.h b/vbench/src/vbench/core/writable_memory.h deleted file mode 100644 index 3dbf85bdfee..00000000000 --- a/vbench/src/vbench/core/writable_memory.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -namespace vbench { - -/** - * Simple wrapper referencing a writable region of memory. This class - * does not have ownership of the referenced memory region. - **/ -struct WritableMemory { - char *data; - size_t size; - WritableMemory() : data(0), size(0) {} - WritableMemory(char *d, size_t s) : data(d), size(s) {} -}; - -} // namespace vbench - diff --git a/vbench/src/vbench/http/http_client.cpp b/vbench/src/vbench/http/http_client.cpp index 3503329991d..cd4a2d6c282 100644 --- a/vbench/src/vbench/http/http_client.cpp +++ b/vbench/src/vbench/http/http_client.cpp @@ -4,21 +4,23 @@ #include <vespa/fastos/fastos.h> #include "http_client.h" #include "hex_number.h" -#include <vbench/core/buffered_output.h> +#include <vespa/vespalib/data/output_writer.h> #include <vbench/core/line_reader.h> #include <algorithm> namespace vbench { +using OutputWriter = vespalib::OutputWriter; + void HttpClient::writeRequest() { - BufferedOutput dst(_conn->stream(), WRITE_SIZE); + OutputWriter dst(_conn->stream(), WRITE_SIZE); dst.printf("GET %s HTTP/1.1\r\n", _url.c_str()); dst.printf("Host: %s\r\n", _conn->server().host.c_str()); - dst.append("User-Agent: vbench\r\n"); - dst.append("X-Yahoo-Vespa-Benchmarkdata: true\r\n"); - dst.append("X-Yahoo-Vespa-Benchmarkdata-Coverage: true\r\n"); - dst.append("\r\n"); + dst.write("User-Agent: vbench\r\n"); + dst.write("X-Yahoo-Vespa-Benchmarkdata: true\r\n"); + dst.write("X-Yahoo-Vespa-Benchmarkdata-Coverage: true\r\n"); + dst.write("\r\n"); } bool diff --git a/vbench/src/vbench/http/http_result_handler.h b/vbench/src/vbench/http/http_result_handler.h index 9c6abb24131..85c230fefb8 100644 --- a/vbench/src/vbench/http/http_result_handler.h +++ b/vbench/src/vbench/http/http_result_handler.h @@ -4,10 +4,12 @@ #pragma once #include <vbench/core/string.h> -#include <vbench/core/memory.h> +#include <vespa/vespalib/data/memory.h> namespace vbench { +using Memory = vespalib::Memory; + /** * Callback interface that must be implemented in order to use the * http client. diff --git a/vbench/src/vbench/test/all.h b/vbench/src/vbench/test/all.h index 37f0a4d2ac7..8e57bc19cd1 100644 --- a/vbench/src/vbench/test/all.h +++ b/vbench/src/vbench/test/all.h @@ -21,23 +21,23 @@ #include <vbench/core/string.h> #include <vbench/core/taint.h> #include <vbench/core/taintable.h> -#include <vbench/core/output.h> -#include <vbench/core/memory.h> +#include <vespa/vespalib/data/output.h> +#include <vespa/vespalib/data/memory.h> #include <vbench/core/mapped_file_input.h> #include <vbench/core/time_queue.h> -#include <vbench/core/buffered_output.h> +#include <vespa/vespalib/data/output_writer.h> #include <vbench/core/socket.h> #include <vbench/core/handler_thread.h> #include <vbench/core/closeable.h> #include <vbench/core/handler.h> #include <vbench/core/timer.h> -#include <vbench/core/writable_memory.h> -#include <vbench/core/simple_buffer.h> +#include <vespa/vespalib/data/writable_memory.h> +#include <vespa/vespalib/data/simple_buffer.h> #include <vbench/core/provider.h> -#include <vbench/core/byte_input.h> +#include <vespa/vespalib/data/input_reader.h> #include <vbench/core/dispatcher.h> #include <vbench/core/stream.h> -#include <vbench/core/input.h> +#include <vespa/vespalib/data/input.h> #include <vbench/test/simple_http_result_handler.h> #include <vbench/test/server_socket.h> #include <vbench/test/request_receptor.h> diff --git a/vbench/src/vbench/test/simple_http_result_handler.cpp b/vbench/src/vbench/test/simple_http_result_handler.cpp index a09a4d30a22..5d223e7ba16 100644 --- a/vbench/src/vbench/test/simple_http_result_handler.cpp +++ b/vbench/src/vbench/test/simple_http_result_handler.cpp @@ -6,6 +6,8 @@ namespace vbench { +using WritableMemory = vespalib::WritableMemory; + SimpleHttpResultHandler::SimpleHttpResultHandler() : _headers(), _content(), diff --git a/vbench/src/vbench/test/simple_http_result_handler.h b/vbench/src/vbench/test/simple_http_result_handler.h index 4a6fd04b852..f5ec1c36fcf 100644 --- a/vbench/src/vbench/test/simple_http_result_handler.h +++ b/vbench/src/vbench/test/simple_http_result_handler.h @@ -4,10 +4,12 @@ #pragma once #include <vbench/http/http_result_handler.h> -#include <vbench/core/simple_buffer.h> +#include <vespa/vespalib/data/simple_buffer.h> namespace vbench { +using SimpleBuffer = vespalib::SimpleBuffer; + class SimpleHttpResultHandler : public HttpResultHandler { private: |