diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-17 22:20:08 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-18 18:22:15 +0000 |
commit | d6975953e4284068fbd76e80bbf7e802003adcaf (patch) | |
tree | 2390aa8ca4e15e881240dab5ece2d05b8685bf89 /storageapi/src | |
parent | 804b5ea7d3822847d2b732c79fd35a5eceba15b4 (diff) |
Reorder members for smaller memory footprint.
Diffstat (limited to 'storageapi/src')
5 files changed, 28 insertions, 23 deletions
diff --git a/storageapi/src/tests/messageapi/storage_message_address_test.cpp b/storageapi/src/tests/messageapi/storage_message_address_test.cpp index c340cba4b28..6cf87b348a9 100644 --- a/storageapi/src/tests/messageapi/storage_message_address_test.cpp +++ b/storageapi/src/tests/messageapi/storage_message_address_test.cpp @@ -31,6 +31,11 @@ TEST(StorageMessageAddressTest, storage_hash_covers_all_expected_fields) { hash_of("foo", lib::NodeType::DISTRIBUTOR, 0)); EXPECT_NE(hash_of("foo", lib::NodeType::STORAGE, 0), hash_of("foo", lib::NodeType::STORAGE, 1)); + + EXPECT_EQ(112u, sizeof(StorageMessageAddress)); + EXPECT_EQ(248u, sizeof(StorageMessage)); + EXPECT_EQ(80u, sizeof(documentapi::LoadType)); + EXPECT_EQ(120u, sizeof(mbus::Trace)); } } // storage::api diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp b/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp index 1385fc331ac..e5fb7764aeb 100644 --- a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp @@ -7,8 +7,7 @@ using document::Bucket; using document::BucketId; -namespace storage { -namespace api { +namespace storage::api { BucketReply::BucketReply(const BucketCommand& cmd, const ReturnCode& code) @@ -42,5 +41,4 @@ BucketReply::print(std::ostream& out, bool verbose, } } -} // api -} // storage +} diff --git a/storageapi/src/vespa/storageapi/messageapi/storagecommand.h b/storageapi/src/vespa/storageapi/messageapi/storagecommand.h index c835168c5b7..bd55ee57a8f 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagecommand.h +++ b/storageapi/src/vespa/storageapi/messageapi/storagecommand.h @@ -30,7 +30,7 @@ protected: public: DECLARE_POINTER_TYPEDEFS(StorageCommand); - virtual ~StorageCommand(); + ~StorageCommand() override; bool sourceIndexSet() const { return (_sourceIndex != 0xffff); } void setSourceIndex(uint16_t sourceIndex) { _sourceIndex = sourceIndex; } diff --git a/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp b/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp index 0f5546a5510..cc62e6664e0 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp @@ -141,10 +141,10 @@ MessageType::print(std::ostream& out, bool verbose, const std::string& indent) c StorageMessageAddress::StorageMessageAddress(const mbus::Route& route) : _route(route), - _protocol(DOCUMENT), + _cluster(), _precomputed_storage_hash(0), - _cluster(""), _type(nullptr), + _protocol(DOCUMENT), _index(0xFFFF) { } @@ -163,10 +163,10 @@ createAddress(vespalib::stringref cluster, const lib::NodeType& type, uint16_t i // TODO we ideally want this removed. Currently just in place to support usage as map key when emplacement not available StorageMessageAddress::StorageMessageAddress() : _route(), - _protocol(Protocol::STORAGE), - _precomputed_storage_hash(0), _cluster(), + _precomputed_storage_hash(0), _type(nullptr), + _protocol(Protocol::STORAGE), _index(0) {} @@ -174,10 +174,10 @@ StorageMessageAddress::StorageMessageAddress() StorageMessageAddress::StorageMessageAddress(vespalib::stringref cluster, const lib::NodeType& type, uint16_t index, Protocol protocol) : _route(), - _protocol(protocol), - _precomputed_storage_hash(0), _cluster(cluster), + _precomputed_storage_hash(0), _type(&type), + _protocol(protocol), _index(index) { std::vector<mbus::IHopDirective::SP> directives; @@ -269,20 +269,22 @@ StorageMessage::generateMsgId() StorageMessage::StorageMessage(const MessageType& type, Id id) : _type(type), _msgId(id), - _priority(NORMAL), _address(), _loadType(documentapi::LoadType::DEFAULT), - _approxByteSize(50) + _trace(), + _approxByteSize(50), + _priority(NORMAL) { } StorageMessage::StorageMessage(const StorageMessage& other, Id id) : _type(other._type), _msgId(id), - _priority(other._priority), _address(), _loadType(other._loadType), - _approxByteSize(other._approxByteSize) + _trace(), + _approxByteSize(other._approxByteSize), + _priority(other._priority) { } diff --git a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h b/storageapi/src/vespa/storageapi/messageapi/storagemessage.h index aa23d3a0cae..366ba684445 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h +++ b/storageapi/src/vespa/storageapi/messageapi/storagemessage.h @@ -268,12 +268,12 @@ public: enum Protocol { STORAGE, DOCUMENT }; private: - mbus::Route _route; - Protocol _protocol; + mbus::Route _route; + vespalib::string _cluster; // Used for internal VDS addresses only size_t _precomputed_storage_hash; - vespalib::string _cluster; const lib::NodeType* _type; + Protocol _protocol; uint16_t _index; public: @@ -359,12 +359,12 @@ protected: static Id generateMsgId(); const MessageType& _type; - Id _msgId; - Priority _priority; + Id _msgId; std::unique_ptr<StorageMessageAddress> _address; documentapi::LoadType _loadType; mbus::Trace _trace; - uint32_t _approxByteSize; + uint32_t _approxByteSize; + Priority _priority; StorageMessage(const MessageType& code, Id id); StorageMessage(const StorageMessage&, Id id); @@ -373,7 +373,7 @@ protected: public: StorageMessage& operator=(const StorageMessage&) = delete; StorageMessage(const StorageMessage&) = delete; - virtual ~StorageMessage(); + ~StorageMessage() override; Id getMsgId() const { return _msgId; } @@ -394,7 +394,7 @@ public: const StorageMessageAddress* getAddress() const { return _address.get(); } void setAddress(const StorageMessageAddress& address) { - _address.reset(new StorageMessageAddress(address)); + _address = std::make_unique<StorageMessageAddress>(address); } /** |