diff options
9 files changed, 32 insertions, 44 deletions
diff --git a/storage/src/vespa/storage/distributor/operations/external/getoperation.h b/storage/src/vespa/storage/distributor/operations/external/getoperation.h index 546cf7a7543..1286e5497fe 100644 --- a/storage/src/vespa/storage/distributor/operations/external/getoperation.h +++ b/storage/src/vespa/storage/distributor/operations/external/getoperation.h @@ -79,7 +79,7 @@ private: }; struct BucketChecksumGroup { - explicit BucketChecksumGroup(const BucketCopy& c) + explicit BucketChecksumGroup(const BucketCopy& c) noexcept : copy(c), sent(0), returnCode(api::ReturnCode::OK), to_node(UINT16_MAX), received(false) {} diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp b/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp index 67e4d835e0c..3f64a133b5f 100644 --- a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp @@ -5,13 +5,6 @@ namespace storage::api { -BucketInfoReply::BucketInfoReply(const BucketInfoCommand& cmd, - const ReturnCode& code) - : BucketReply(cmd, code), - _result() -{ -} - void BucketInfoReply::print(std::ostream& out, bool verbose, const std::string& indent) const diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h b/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h index 5b784267da2..a9f206787cb 100644 --- a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h +++ b/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h @@ -22,7 +22,10 @@ class BucketInfoReply : public BucketReply { BucketInfo _result; protected: - BucketInfoReply(const BucketInfoCommand& cmd, const ReturnCode& code = ReturnCode(ReturnCode::OK)); + BucketInfoReply(const BucketInfoCommand& cmd) + : BucketReply(cmd), + _result() + {} public: DECLARE_POINTER_TYPEDEFS(BucketInfoReply); diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp b/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp index e5fb7764aeb..895b6dcef24 100644 --- a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp @@ -9,14 +9,6 @@ using document::BucketId; namespace storage::api { -BucketReply::BucketReply(const BucketCommand& cmd, - const ReturnCode& code) - : StorageReply(cmd, code), - _bucket(cmd.getBucket()), - _originalBucket(cmd.getOriginalBucketId()) -{ -} - void BucketReply::remapBucketId(const BucketId& bucket) { if (_originalBucket.getRawId() == 0) { diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketreply.h b/storageapi/src/vespa/storageapi/messageapi/bucketreply.h index 5b4e6963fd9..9fe04dfe47d 100644 --- a/storageapi/src/vespa/storageapi/messageapi/bucketreply.h +++ b/storageapi/src/vespa/storageapi/messageapi/bucketreply.h @@ -9,6 +9,7 @@ #pragma once #include "storagereply.h" +#include "bucketcommand.h" namespace storage::api { @@ -19,7 +20,11 @@ class BucketReply : public StorageReply { document::BucketId _originalBucket; protected: - BucketReply(const BucketCommand& cmd, const ReturnCode& code = ReturnCode(ReturnCode::OK)); + BucketReply(const BucketCommand& cmd) + : StorageReply(cmd), + _bucket(cmd.getBucket()), + _originalBucket(cmd.getOriginalBucketId()) + { } public: DECLARE_POINTER_TYPEDEFS(BucketReply); diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp b/storageapi/src/vespa/storageapi/messageapi/returncode.cpp index dbe2f602703..e2184e19a33 100644 --- a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/returncode.cpp @@ -5,18 +5,7 @@ namespace storage::api { -ReturnCode::ReturnCode() - : _result(OK), - _message() -{} - ReturnCode & ReturnCode::operator = (ReturnCode &&) noexcept = default; -ReturnCode::~ReturnCode() = default; - -ReturnCode::ReturnCode(Result result) - : _result(result), - _message() -{} ReturnCode::ReturnCode(Result result, vespalib::stringref msg) : _result(result), @@ -168,13 +157,6 @@ ReturnCode::isBucketDisappearance() const } } -vespalib::stringref -ReturnCode::getMessage() const { - return _message - ? _message->operator vespalib::stringref() - : vespalib::stringref(); -} - bool ReturnCode::operator==(const ReturnCode& code) const { return (_result == code._result) && (getMessage() == code.getMessage()); diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.h b/storageapi/src/vespa/storageapi/messageapi/returncode.h index bef59a334d9..478aa455c85 100644 --- a/storageapi/src/vespa/storageapi/messageapi/returncode.h +++ b/storageapi/src/vespa/storageapi/messageapi/returncode.h @@ -61,16 +61,25 @@ private: Result _result; std::unique_ptr<vespalib::string> _message; public: - ReturnCode(); - explicit ReturnCode(Result result); - explicit ReturnCode(Result result, vespalib::stringref msg); + ReturnCode() + : _result(OK), + _message() + { } + explicit ReturnCode(Result result) + : _result(result), + _message() + {} + ReturnCode(Result result, vespalib::stringref msg); ReturnCode(const ReturnCode &); ReturnCode & operator = (const ReturnCode &); ReturnCode(ReturnCode &&) noexcept = default; ReturnCode & operator = (ReturnCode &&) noexcept; - ~ReturnCode(); - vespalib::stringref getMessage() const; + vespalib::stringref getMessage() const { + return _message + ? _message->operator vespalib::stringref() + : vespalib::stringref(); + } Result getResult() const { return _result; } diff --git a/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp b/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp index bd1292a1f8f..b5cbd3eae54 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp @@ -6,9 +6,13 @@ namespace storage::api { +StorageReply::StorageReply(const StorageCommand& cmd) + : StorageReply(cmd, ReturnCode()) +{} + StorageReply::StorageReply(const StorageCommand& cmd, ReturnCode code) : StorageMessage(cmd.getType().getReplyType(), cmd.getMsgId()), - _result(code) + _result(std::move(code)) { setPriority(cmd.getPriority()); if (cmd.getAddress()) { diff --git a/storageapi/src/vespa/storageapi/messageapi/storagereply.h b/storageapi/src/vespa/storageapi/messageapi/storagereply.h index 53516949110..e423e3b5bf9 100644 --- a/storageapi/src/vespa/storageapi/messageapi/storagereply.h +++ b/storageapi/src/vespa/storageapi/messageapi/storagereply.h @@ -23,8 +23,8 @@ class StorageReply : public StorageMessage { ReturnCode _result; protected: - explicit StorageReply(const StorageCommand& cmd, - ReturnCode code = ReturnCode(ReturnCode::OK)); + explicit StorageReply(const StorageCommand& cmd); + StorageReply(const StorageCommand& cmd, ReturnCode code); public: ~StorageReply() override; |