summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-01-23 16:38:55 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-01-23 16:38:55 +0000
commit4d24ae39cd172474502b7a3a2b7c43f26338d86f (patch)
tree2a4db14d0d41e4f76ad0dd34a06b80fe94579339 /document
parent19c8f9406297f359c0e04e7bda9f12ef625f1df6 (diff)
Followup on code comments.
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/fieldvalue/serializablearray.cpp15
-rw-r--r--document/src/vespa/document/fieldvalue/serializablearray.h10
2 files changed, 14 insertions, 11 deletions
diff --git a/document/src/vespa/document/fieldvalue/serializablearray.cpp b/document/src/vespa/document/fieldvalue/serializablearray.cpp
index d97f653615e..be5001c6f5b 100644
--- a/document/src/vespa/document/fieldvalue/serializablearray.cpp
+++ b/document/src/vespa/document/fieldvalue/serializablearray.cpp
@@ -36,7 +36,7 @@ SerializableArray::SerializableArray(EntryMap entries, ByteBuffer buffer,
{
if (CompressionConfig::isCompressed(comp_type)) {
- _unlikely = std::make_unique<Unlikely>();
+ _unlikely = std::make_unique<RarelyUsedBuffers>();
_unlikely->_compSerData = std::move(buffer);
_unlikely->_serializedCompression = comp_type;
_unlikely->_uncompressedLength = uncompressed_length;
@@ -62,15 +62,15 @@ ensure(std::unique_ptr<T> &owned) {
}
-SerializableArray::Unlikely::Unlikely()
+SerializableArray::RarelyUsedBuffers::RarelyUsedBuffers()
: _owned(),
_compSerData(nullptr, 0),
_serializedCompression(CompressionConfig::NONE),
_uncompressedLength(0)
{ }
-SerializableArray::Unlikely::~Unlikely() = default;
+SerializableArray::RarelyUsedBuffers::~RarelyUsedBuffers() = default;
-SerializableArray::Unlikely::Unlikely(const Unlikely & rhs)
+SerializableArray::RarelyUsedBuffers::RarelyUsedBuffers(const RarelyUsedBuffers & rhs)
: _owned(),
_compSerData(rhs._compSerData),
_serializedCompression(rhs._serializedCompression),
@@ -80,7 +80,7 @@ SerializableArray::Unlikely::Unlikely(const Unlikely & rhs)
SerializableArray::SerializableArray(const SerializableArray& rhs)
: _entries(rhs._entries),
_uncompSerData(rhs._uncompSerData),
- _unlikely(rhs._unlikely ? new Unlikely(*rhs._unlikely) : nullptr)
+ _unlikely(rhs._unlikely ? new RarelyUsedBuffers(*rhs._unlikely) : nullptr)
{
for (size_t i(0); i < _entries.size(); i++) {
Entry & e(_entries[i]);
@@ -98,7 +98,9 @@ SerializableArray::SerializableArray(const SerializableArray& rhs)
SerializableArray &
SerializableArray::operator=(const SerializableArray &rhs)
{
- *this = SerializableArray(rhs);
+ if (this != &rhs) {
+ *this = SerializableArray(rhs);
+ }
return *this;
}
@@ -122,6 +124,7 @@ SerializableArray::set(int id, ByteBuffer buffer)
{
maybeDecompress();
Entry e(id, buffer.getRemaining(), buffer.getBuffer());
+ assert(buffer.getRemaining() < 0x80000000ul);
ensure(ensure(_unlikely)._owned)[id] = std::move(buffer);
auto it = find(id);
if (it == _entries.end()) {
diff --git a/document/src/vespa/document/fieldvalue/serializablearray.h b/document/src/vespa/document/fieldvalue/serializablearray.h
index 7ba6df6af73..80edc8a810c 100644
--- a/document/src/vespa/document/fieldvalue/serializablearray.h
+++ b/document/src/vespa/document/fieldvalue/serializablearray.h
@@ -162,11 +162,11 @@ private:
}
void deCompress(); // throw (DeserializeException);
- struct Unlikely {
+ struct RarelyUsedBuffers {
/** The buffers we own. */
- Unlikely();
- Unlikely(const Unlikely &);
- ~Unlikely();
+ RarelyUsedBuffers();
+ RarelyUsedBuffers(const RarelyUsedBuffers &);
+ ~RarelyUsedBuffers();
std::unique_ptr<serializablearray::BufferMap> _owned;
ByteBuffer _compSerData;
CompressionConfig::Type _serializedCompression;
@@ -176,7 +176,7 @@ private:
EntryMap _entries;
/** Data we deserialized from, if applicable. */
ByteBuffer _uncompSerData;
- std::unique_ptr<Unlikely> _unlikely;
+ std::unique_ptr<RarelyUsedBuffers> _unlikely;
VESPA_DLL_LOCAL void invalidate();