aboutsummaryrefslogtreecommitdiffstats
path: root/vbench
diff options
context:
space:
mode:
authorHaavard <havardpe@yahoo-inc.com>2017-02-03 13:48:49 +0000
committerHaavard <havardpe@yahoo-inc.com>2017-02-03 18:16:45 +0000
commit324c400925b1d8e4dfb700dd7253e467407e8db7 (patch)
tree9148cce12e27bd44c3b71d0140fe50c741add393 /vbench
parent439a2d738d072598ec44e3f87f9436a10d6af1e5 (diff)
use new input/output model in vbench
Diffstat (limited to 'vbench')
-rw-r--r--vbench/CMakeLists.txt5
-rw-r--r--vbench/src/tests/app_dumpurl/app_dumpurl_test.cpp19
-rw-r--r--vbench/src/tests/app_vbench/app_vbench_test.cpp23
-rw-r--r--vbench/src/tests/buffered_output/.gitignore1
-rw-r--r--vbench/src/tests/buffered_output/CMakeLists.txt9
-rw-r--r--vbench/src/tests/buffered_output/FILES1
-rw-r--r--vbench/src/tests/buffered_output/buffered_output_test.cpp32
-rw-r--r--vbench/src/tests/byte_input/.gitignore1
-rw-r--r--vbench/src/tests/byte_input/CMakeLists.txt9
-rw-r--r--vbench/src/tests/byte_input/FILES1
-rw-r--r--vbench/src/tests/byte_input/byte_input_test.cpp39
-rw-r--r--vbench/src/tests/http_client/http_client_test.cpp61
-rw-r--r--vbench/src/tests/input_reader/.gitignore0
-rw-r--r--vbench/src/tests/line_reader/line_reader_test.cpp17
-rw-r--r--vbench/src/tests/memory/.gitignore1
-rw-r--r--vbench/src/tests/memory/CMakeLists.txt9
-rw-r--r--vbench/src/tests/memory/FILES1
-rw-r--r--vbench/src/tests/memory/memory_test.cpp40
-rw-r--r--vbench/src/tests/simple_buffer/.gitignore1
-rw-r--r--vbench/src/tests/simple_buffer/CMakeLists.txt9
-rw-r--r--vbench/src/tests/simple_buffer/FILES1
-rw-r--r--vbench/src/tests/simple_buffer/simple_buffer_test.cpp70
-rw-r--r--vbench/src/tests/socket/socket_test.cpp6
-rw-r--r--vbench/src/tests/writable_memory/.gitignore1
-rw-r--r--vbench/src/tests/writable_memory/CMakeLists.txt9
-rw-r--r--vbench/src/tests/writable_memory/FILES1
-rw-r--r--vbench/src/tests/writable_memory/writable_memory_test.cpp20
-rw-r--r--vbench/src/vbench/core/CMakeLists.txt7
-rw-r--r--vbench/src/vbench/core/buffered_output.cpp31
-rw-r--r--vbench/src/vbench/core/buffered_output.h64
-rw-r--r--vbench/src/vbench/core/byte_input.cpp8
-rw-r--r--vbench/src/vbench/core/byte_input.h49
-rw-r--r--vbench/src/vbench/core/input.cpp8
-rw-r--r--vbench/src/vbench/core/input.h36
-rw-r--r--vbench/src/vbench/core/input_file_reader.h2
-rw-r--r--vbench/src/vbench/core/line_reader.cpp2
-rw-r--r--vbench/src/vbench/core/line_reader.h7
-rw-r--r--vbench/src/vbench/core/mapped_file_input.h5
-rw-r--r--vbench/src/vbench/core/memory.cpp8
-rw-r--r--vbench/src/vbench/core/memory.h23
-rw-r--r--vbench/src/vbench/core/output.cpp8
-rw-r--r--vbench/src/vbench/core/output.h37
-rw-r--r--vbench/src/vbench/core/simple_buffer.cpp78
-rw-r--r--vbench/src/vbench/core/simple_buffer.h39
-rw-r--r--vbench/src/vbench/core/socket.h8
-rw-r--r--vbench/src/vbench/core/stream.h7
-rw-r--r--vbench/src/vbench/core/writable_memory.cpp8
-rw-r--r--vbench/src/vbench/core/writable_memory.h19
-rw-r--r--vbench/src/vbench/http/http_client.cpp14
-rw-r--r--vbench/src/vbench/http/http_result_handler.h4
-rw-r--r--vbench/src/vbench/test/all.h14
-rw-r--r--vbench/src/vbench/test/simple_http_result_handler.cpp2
-rw-r--r--vbench/src/vbench/test/simple_http_result_handler.h4
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: