aboutsummaryrefslogtreecommitdiffstats
path: root/storageapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-11-27 11:26:40 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-11-27 11:29:13 +0000
commited4d51f68b077e8986a1e70f0741095db8f20594 (patch)
treec1464f7bbfb17993d07c88d22fd32765b918f6e7 /storageapi
parent7a60abe577e6cd9cbbe2b3aa62d7220ff5b191ec (diff)
Inline some small constructors and also prefer moving the return code.
Diffstat (limited to 'storageapi')
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp7
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h5
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp8
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/bucketreply.h7
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/returncode.cpp18
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/returncode.h19
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/storagereply.cpp6
-rw-r--r--storageapi/src/vespa/storageapi/messageapi/storagereply.h4
8 files changed, 31 insertions, 43 deletions
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;