summaryrefslogtreecommitdiffstats
path: root/vdslib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-01-20 13:04:49 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-01-20 13:04:49 +0000
commit1d3fe1bedb648cfd497eeee61478fa45f332255b (patch)
tree7519f9f9d87dd9e89a788a596ca865bd5330cac5 /vdslib
parent5eaae9afb93ad82a931e117a14babdbb271762c6 (diff)
GC a load of unused code. ByteBuffer towards read only.
Diffstat (limited to 'vdslib')
-rw-r--r--vdslib/src/tests/container/parameterstest.cpp16
-rw-r--r--vdslib/src/vespa/vdslib/container/documentsummary.cpp14
-rw-r--r--vdslib/src/vespa/vdslib/container/documentsummary.h5
-rw-r--r--vdslib/src/vespa/vdslib/container/parameters.cpp24
-rw-r--r--vdslib/src/vespa/vdslib/container/parameters.h27
-rw-r--r--vdslib/src/vespa/vdslib/container/searchresult.cpp42
-rw-r--r--vdslib/src/vespa/vdslib/container/searchresult.h9
7 files changed, 69 insertions, 68 deletions
diff --git a/vdslib/src/tests/container/parameterstest.cpp b/vdslib/src/tests/container/parameterstest.cpp
index c54d8ae66da..95a29fb97be 100644
--- a/vdslib/src/tests/container/parameterstest.cpp
+++ b/vdslib/src/tests/container/parameterstest.cpp
@@ -1,10 +1,12 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/vdslib/container/parameters.h>
+#include <vespa/vespalib/util/growablebytebuffer.h>
+#include <vespa/document/util/bytebuffer.h>
#include <vespa/vespalib/gtest/gtest.h>
-using document::DocumentTypeRepo;
+using vespalib::GrowableByteBuffer;
+using document::ByteBuffer;
using namespace vdslib;
TEST(ParametersTest, test_parameters)
@@ -15,11 +17,12 @@ TEST(ParametersTest, test_parameters)
par.set("number", 6);
par.set("int64_t", INT64_C(8589934590));
par.set("double", 0.25);
- std::unique_ptr<document::ByteBuffer> buffer(par.serialize());
- buffer->flip();
- DocumentTypeRepo repo;
- Parameters par2(repo, *buffer);
+ GrowableByteBuffer buffer;
+ par.serialize(buffer);
+
+ ByteBuffer bBuf(buffer.getBuffer(), buffer.position());
+ Parameters par2(bBuf);
EXPECT_EQ(vespalib::stringref("overture"), par2.get("fast"));
EXPECT_EQ(vespalib::stringref("yahoo"), par2.get("overture"));
@@ -35,4 +38,5 @@ TEST(ParametersTest, test_parameters)
EXPECT_EQ(numberDefault, par2.get("nonexistingnumber", numberDefault));
EXPECT_EQ(int64Default, par2.get("nonexistingint64_t", int64Default));
EXPECT_EQ(doubleDefault, par2.get("nonexistingdouble", doubleDefault));
+
}
diff --git a/vdslib/src/vespa/vdslib/container/documentsummary.cpp b/vdslib/src/vespa/vdslib/container/documentsummary.cpp
index bc8a0473ab3..f948bd64687 100644
--- a/vdslib/src/vespa/vdslib/container/documentsummary.cpp
+++ b/vdslib/src/vespa/vdslib/container/documentsummary.cpp
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "documentsummary.h"
+#include <vespa/vespalib/util/growablebytebuffer.h>
+#include <vespa/document/util/bytebuffer.h>
#include <algorithm>
namespace vdslib {
@@ -21,7 +23,7 @@ DocumentSummary::DocumentSummary(document::ByteBuffer& buf) :
deserialize(buf);
}
-DocumentSummary::~DocumentSummary() {}
+DocumentSummary::~DocumentSummary() = default;
void DocumentSummary::deserialize(document::ByteBuffer& buf)
{
@@ -47,18 +49,18 @@ void DocumentSummary::deserialize(document::ByteBuffer& buf)
}
}
-void DocumentSummary::serialize(document::ByteBuffer& buf) const
+void DocumentSummary::serialize(vespalib::GrowableByteBuffer& buf) const
{
- buf.putIntNetwork(0); // Just serialize dummy 4 byte field, to avoid versioning.
- buf.putIntNetwork(_summary.size());
+ buf.putInt(0); // Just serialize dummy 4 byte field, to avoid versioning.
+ buf.putInt(_summary.size());
if ( ! _summary.empty() ) {
- buf.putIntNetwork(getSummarySize());
+ buf.putInt(getSummarySize());
for (size_t i(0), m(_summary.size()); i < m; i++) {
Summary s(_summary[i]);
buf.putBytes(s.getDocId(_summaryBuffer->c_str()), s.getTotalSize());
}
for (size_t i(0), m(_summary.size()); i < m; i++) {
- buf.putIntNetwork(_summary[i].getSummarySize());
+ buf.putInt(_summary[i].getSummarySize());
}
}
}
diff --git a/vdslib/src/vespa/vdslib/container/documentsummary.h b/vdslib/src/vespa/vdslib/container/documentsummary.h
index f04c1fa06bf..375546920ec 100644
--- a/vdslib/src/vespa/vdslib/container/documentsummary.h
+++ b/vdslib/src/vespa/vdslib/container/documentsummary.h
@@ -2,9 +2,10 @@
#pragma once
#include <vespa/vespalib/util/memory.h>
-#include <vespa/document/util/bytebuffer.h>
#include <vector>
+namespace document { class ByteBuffer; }
+namespace vespalib { class GrowableByteBuffer; }
namespace vdslib {
class DocumentSummary {
@@ -29,7 +30,7 @@ public:
void sort();
void deserialize(document::ByteBuffer& buf);
- void serialize(document::ByteBuffer& buf) const;
+ void serialize(vespalib::GrowableByteBuffer& buf) const;
uint32_t getSerializedSize() const;
private:
class Summary {
diff --git a/vdslib/src/vespa/vdslib/container/parameters.cpp b/vdslib/src/vespa/vdslib/container/parameters.cpp
index 4358c42ff29..9c843df1caa 100644
--- a/vdslib/src/vespa/vdslib/container/parameters.cpp
+++ b/vdslib/src/vespa/vdslib/container/parameters.cpp
@@ -1,20 +1,22 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "parameters.hpp"
+#include <vespa/document/util/bytebuffer.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/objects/hexdump.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/util/xmlstream.h>
+#include <vespa/vespalib/util/growablebytebuffer.h>
#include <ostream>
using namespace vdslib;
Parameters::Parameters() = default;
-Parameters::Parameters(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer)
+Parameters::Parameters(document::ByteBuffer& buffer)
: _parameters()
{
- deserialize(repo, buffer);
+ deserialize(buffer);
}
Parameters::~Parameters() = default;
@@ -28,20 +30,19 @@ size_t Parameters::getSerializedSize() const
return mysize;
}
-void Parameters::onSerialize(document::ByteBuffer& buffer) const
+void Parameters::serialize(vespalib::GrowableByteBuffer& buffer) const
{
- buffer.putIntNetwork(_parameters.size());
+ buffer.putInt(_parameters.size());
for (const auto & entry : _parameters) {
- buffer.putIntNetwork(entry.first.size());
+ buffer.putInt(entry.first.size());
buffer.putBytes(entry.first.c_str(), entry.first.size());
- buffer.putIntNetwork(entry.second.size());
+ buffer.putInt(entry.second.size());
buffer.putBytes(entry.second.c_str(), entry.second.size());
}
}
-void Parameters::onDeserialize(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer)
+void Parameters::deserialize(document::ByteBuffer& buffer)
{
- (void) repo;
_parameters.clear();
int32_t mysize;
buffer.getIntNetwork(mysize);
@@ -88,11 +89,6 @@ Parameters::operator==(const Parameters &other) const
return true;
}
-Parameters* Parameters::clone() const
-{
- return new Parameters(*this);
-}
-
vespalib::stringref Parameters::get(vespalib::stringref id, vespalib::stringref def) const
{
ParametersMap::const_iterator it = _parameters.find(id);
@@ -130,7 +126,7 @@ void Parameters::print(std::ostream& out, bool verbose, const std::string& inden
out << ")";
}
-std::string Parameters::toString() const
+vespalib::string Parameters::toString() const
{
vespalib::string ret;
for (const auto & entry : _parameters) {
diff --git a/vdslib/src/vespa/vdslib/container/parameters.h b/vdslib/src/vespa/vdslib/container/parameters.h
index f3ea0543546..61649b29bbe 100644
--- a/vdslib/src/vespa/vdslib/container/parameters.h
+++ b/vdslib/src/vespa/vdslib/container/parameters.h
@@ -14,18 +14,15 @@
#pragma once
-#include <vespa/document/util/serializable.h>
#include <vespa/document/util/xmlserializable.h>
#include <vespa/vespalib/stllike/hash_map.h>
-namespace vespalib {
- class asciistream;
-}
+namespace vespalib { class GrowableByteBuffer; }
+namespace document { class ByteBuffer; }
namespace vdslib {
-class Parameters : public document::Deserializable,
- public document::XmlSerializable {
+class Parameters : public document::XmlSerializable {
public:
typedef vespalib::stringref KeyT;
class Value : public vespalib::string
@@ -42,27 +39,25 @@ public:
private:
ParametersMap _parameters;
- void onSerialize(document::ByteBuffer& buffer) const override;
- void onDeserialize(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer) override;
void printXml(document::XmlOutputStream& xos) const override;
public:
Parameters();
- Parameters(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer);
- virtual ~Parameters();
+ Parameters(document::ByteBuffer& buffer);
+ ~Parameters();
bool operator==(const Parameters &other) const;
- Parameters* clone() const override;
+ size_t getSerializedSize() const;
- size_t getSerializedSize() const override;
-
- bool hasValue(KeyT id) const { return (_parameters.find(id) != _parameters.end()); }
- unsigned int size() const { return _parameters.size(); }
+ bool hasValue(KeyT id) const { return (_parameters.find(id) != _parameters.end()); }
+ unsigned int size() const { return _parameters.size(); }
bool lookup(KeyT id, ValueRef & v) const;
void set(KeyT id, const void * v, size_t sz) { _parameters[id] = Value(v, sz); }
void print(std::ostream& out, bool verbose, const std::string& indent) const;
+ void serialize(vespalib::GrowableByteBuffer& buffer) const;
+ void deserialize(document::ByteBuffer& buffer);
// Disallow
ParametersMap::const_iterator begin() const { return _parameters.begin(); }
@@ -92,7 +87,7 @@ public:
template<typename T>
T get(KeyT id, T def) const;
- std::string toString() const;
+ vespalib::string toString() const;
};
} // vdslib
diff --git a/vdslib/src/vespa/vdslib/container/searchresult.cpp b/vdslib/src/vespa/vdslib/container/searchresult.cpp
index 73b19a2f8a2..20cc53e2de9 100644
--- a/vdslib/src/vespa/vdslib/container/searchresult.cpp
+++ b/vdslib/src/vespa/vdslib/container/searchresult.cpp
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "searchresult.h"
+#include <vespa/document/util/bytebuffer.h>
+#include <vespa/vespalib/util/growablebytebuffer.h>
#include <algorithm>
namespace vdslib {
@@ -25,21 +27,21 @@ void AggregatorList::deserialize(document::ByteBuffer & buf)
}
}
-void AggregatorList::serialize(document::ByteBuffer & buf) const
+void AggregatorList::serialize(vespalib::GrowableByteBuffer & buf) const
{
- buf.putIntNetwork(size());
- for (const_iterator it(begin()), mt(end()); it != mt; it++) {
- buf.putIntNetwork(it->first);
- buf.putIntNetwork(it->second.size());
- buf.putBytes(it->second, it->second.size());
+ buf.putInt(size());
+ for (const auto & entry : *this) {
+ buf.putInt(entry.first);
+ buf.putInt(entry.second.size());
+ buf.putBytes(entry.second, entry.second.size());
}
}
uint32_t AggregatorList::getSerializedSize() const
{
size_t sz(sizeof(uint32_t) * (1 + 2*size()));
- for (const_iterator it(begin()), mt(end()); it != mt; it++) {
- sz += it->second.size();
+ for (const auto & entry : *this) {
+ sz += entry.second.size();
}
return sz;
}
@@ -51,7 +53,7 @@ BlobContainer::BlobContainer(size_t reserve) :
_offsets.push_back(0);
}
-BlobContainer::~BlobContainer() {}
+BlobContainer::~BlobContainer() = default;
size_t BlobContainer::append(const void * v, size_t sz)
{
@@ -84,11 +86,11 @@ void BlobContainer::deserialize(document::ByteBuffer & buf)
buf.getBytes(_blob, getSize());
}
-void BlobContainer::serialize(document::ByteBuffer & buf) const
+void BlobContainer::serialize(vespalib::GrowableByteBuffer & buf) const
{
- buf.putIntNetwork(getCount());
+ buf.putInt(getCount());
for(size_t i(0), m(getCount()); i < m; i++) {
- buf.putIntNetwork(getSize(i));
+ buf.putInt(getSize(i));
}
buf.putBytes(_blob, getSize());
}
@@ -116,7 +118,7 @@ SearchResult::SearchResult(document::ByteBuffer & buf) :
deserialize(buf);
}
-SearchResult::~SearchResult() {}
+SearchResult::~SearchResult() = default;
void SearchResult::deserialize(document::ByteBuffer & buf)
{
@@ -143,26 +145,26 @@ void SearchResult::deserialize(document::ByteBuffer & buf)
_groupingList.deserialize(buf);
}
-void SearchResult::serialize(document::ByteBuffer & buf) const
+void SearchResult::serialize(vespalib::GrowableByteBuffer & buf) const
{
- buf.putIntNetwork(_totalHits);
+ buf.putInt(_totalHits);
uint32_t hitCount = std::min(_hits.size(), _wantedHits);
- buf.putIntNetwork(hitCount);
+ buf.putInt(hitCount);
if (hitCount > 0) {
uint32_t sz = getBufCount();
- buf.putIntNetwork(sz);
+ buf.putInt(sz);
for (size_t i(0), m(hitCount); i < m; i++) {
const char * s(_hits[i].getDocId(_docIdBuffer->c_str()));
buf.putBytes(s, strlen(s)+1);
}
for (size_t i(0), m(hitCount); i < m; i++) {
- buf.putDoubleNetwork(_hits[i].getRank());
+ buf.putDouble(_hits[i].getRank());
}
}
uint32_t sortCount = std::min(_sortBlob.getCount(), _wantedHits);
- buf.putIntNetwork(sortCount);
+ buf.putInt(sortCount);
for (size_t i(0); i < sortCount; i++) {
- buf.putIntNetwork(_sortBlob.getSize(_hits[i].getIndex()));
+ buf.putInt(_sortBlob.getSize(_hits[i].getIndex()));
}
for (size_t i(0); i < sortCount; i++) {
size_t sz;
diff --git a/vdslib/src/vespa/vdslib/container/searchresult.h b/vdslib/src/vespa/vdslib/container/searchresult.h
index 081873e2989..fc893f6b5be 100644
--- a/vdslib/src/vespa/vdslib/container/searchresult.h
+++ b/vdslib/src/vespa/vdslib/container/searchresult.h
@@ -2,10 +2,11 @@
#pragma once
#include <vespa/vespalib/util/memory.h>
-#include <vespa/document/util/bytebuffer.h>
#include <vector>
#include <map>
+namespace document { class ByteBuffer; }
+namespace vespalib { class GrowableByteBuffer; }
namespace vdslib {
typedef std::map<size_t, vespalib::MallocPtr> IntBlobMapT;
@@ -15,7 +16,7 @@ class AggregatorList : public IntBlobMapT
public:
void add(size_t id, const vespalib::MallocPtr & aggrBlob);
void deserialize(document::ByteBuffer & buf);
- void serialize(document::ByteBuffer & buf) const;
+ void serialize(vespalib::GrowableByteBuffer & buf) const;
uint32_t getSerializedSize() const;
};
@@ -31,7 +32,7 @@ public:
size_t getSize(size_t index) const { return _offsets[index+1] - _offsets[index]; }
const void * getBuf(size_t index) const { return _blob.c_str() + _offsets[index]; }
void deserialize(document::ByteBuffer & buf);
- void serialize(document::ByteBuffer & buf) const;
+ void serialize(vespalib::GrowableByteBuffer & buf) const;
uint32_t getSerializedSize() const { return (1 + getCount()) * sizeof(uint32_t) + getSize(); }
private:
typedef vespalib::MallocPtr Blob;
@@ -76,7 +77,7 @@ public:
void sort();
void deserialize(document::ByteBuffer & buf);
- void serialize(document::ByteBuffer & buf) const;
+ void serialize(vespalib::GrowableByteBuffer & buf) const;
uint32_t getSerializedSize() const;
private:
class Hit {