diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-23 16:38:55 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-23 16:38:55 +0000 |
commit | 4d24ae39cd172474502b7a3a2b7c43f26338d86f (patch) | |
tree | 2a4db14d0d41e4f76ad0dd34a06b80fe94579339 /document | |
parent | 19c8f9406297f359c0e04e7bda9f12ef625f1df6 (diff) |
Followup on code comments.
Diffstat (limited to 'document')
-rw-r--r-- | document/src/vespa/document/fieldvalue/serializablearray.cpp | 15 | ||||
-rw-r--r-- | document/src/vespa/document/fieldvalue/serializablearray.h | 10 |
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(); |