diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-31 20:13:16 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-31 20:13:16 +0000 |
commit | 2b8e530c8420a085556590b9298ca1d38d8e6c4f (patch) | |
tree | d7eec33f45ec8d33710bf254a4f119db76fc4b04 /config/src | |
parent | f6792aac5a511e0e67cb5fe1c989bff4c786cbab (diff) |
Avoid using raw pointers, and move the smart pointers.
Diffstat (limited to 'config/src')
-rw-r--r-- | config/src/tests/configretriever/configretriever.cpp | 4 | ||||
-rw-r--r-- | config/src/vespa/config/common/configvalue.cpp | 6 | ||||
-rw-r--r-- | config/src/vespa/config/common/configvalue.h | 2 | ||||
-rw-r--r-- | config/src/vespa/config/frt/frtconfigresponsev3.cpp | 17 | ||||
-rw-r--r-- | config/src/vespa/config/frt/frtconfigresponsev3.h | 2 | ||||
-rw-r--r-- | config/src/vespa/config/frt/protocol.h | 2 | ||||
-rw-r--r-- | config/src/vespa/config/frt/slimeconfigresponse.cpp | 10 | ||||
-rw-r--r-- | config/src/vespa/config/frt/slimeconfigresponse.h | 8 | ||||
-rw-r--r-- | config/src/vespa/config/retriever/configsnapshot.cpp | 5 |
9 files changed, 28 insertions, 28 deletions
diff --git a/config/src/tests/configretriever/configretriever.cpp b/config/src/tests/configretriever/configretriever.cpp index d929e816740..2c1954bcd95 100644 --- a/config/src/tests/configretriever/configretriever.cpp +++ b/config/src/tests/configretriever/configretriever.cpp @@ -145,9 +145,9 @@ private: ConfigValue createKeyValueV2(const vespalib::string & key, const vespalib::string & value) { - FixedPayload * payload = new FixedPayload(); + auto payload = std::make_unique<FixedPayload>(); payload->getData().setObject().setString(key, Memory(value)); - return ConfigValue(PayloadPtr(payload), ""); + return ConfigValue(std::move(payload), ""); } diff --git a/config/src/vespa/config/common/configvalue.cpp b/config/src/vespa/config/common/configvalue.cpp index f9d9671c17e..8857eacc987 100644 --- a/config/src/vespa/config/common/configvalue.cpp +++ b/config/src/vespa/config/common/configvalue.cpp @@ -18,8 +18,8 @@ ConfigValue::ConfigValue() _md5sum() { } -ConfigValue::ConfigValue(const PayloadPtr & payload, const vespalib::string & md5) - : _payload(payload), +ConfigValue::ConfigValue(PayloadPtr payload, const vespalib::string & md5) + : _payload(std::move(payload)), _lines(), _md5sum(md5) { } @@ -27,7 +27,7 @@ ConfigValue::ConfigValue(const PayloadPtr & payload, const vespalib::string & md ConfigValue::ConfigValue(const ConfigValue &) = default; ConfigValue & ConfigValue::operator = (const ConfigValue &) = default; -ConfigValue::~ConfigValue() { } +ConfigValue::~ConfigValue() = default; int ConfigValue::operator==(const ConfigValue & rhs) const diff --git a/config/src/vespa/config/common/configvalue.h b/config/src/vespa/config/common/configvalue.h index 706fda0d2ba..a0450328f30 100644 --- a/config/src/vespa/config/common/configvalue.h +++ b/config/src/vespa/config/common/configvalue.h @@ -22,7 +22,7 @@ class ConfigValue { public: typedef std::unique_ptr<ConfigValue> UP; ConfigValue(const std::vector<vespalib::string> & lines, const vespalib::string & md5sum); - ConfigValue(const PayloadPtr & data, const vespalib::string & md5sum); + ConfigValue(PayloadPtr data, const vespalib::string & md5sum); ConfigValue(); ConfigValue(const ConfigValue &); ConfigValue & operator = (const ConfigValue &); diff --git a/config/src/vespa/config/frt/frtconfigresponsev3.cpp b/config/src/vespa/config/frt/frtconfigresponsev3.cpp index b983c63c6a5..328e86a2704 100644 --- a/config/src/vespa/config/frt/frtconfigresponsev3.cpp +++ b/config/src/vespa/config/frt/frtconfigresponsev3.cpp @@ -25,8 +25,8 @@ std::string make_json(const Slime &slime, bool compact) { class V3Payload : public Payload { public: - V3Payload(const SlimePtr & data) - : _data(data) + explicit V3Payload(Slime::UP data) + : _data(std::move(data)) { } @@ -34,7 +34,7 @@ public: return _data->get(); } private: - SlimePtr _data; + Slime::UP _data; }; const vespalib::string FRTConfigResponseV3::RESPONSE_TYPES = "sx"; @@ -50,19 +50,18 @@ FRTConfigResponseV3::getResponseTypes() const return RESPONSE_TYPES; } -const ConfigValue +ConfigValue FRTConfigResponseV3::readConfigValue() const { vespalib::string md5(_data->get()[RESPONSE_CONFIG_MD5].asString().make_string()); CompressionInfo info; info.deserialize(_data->get()[RESPONSE_COMPRESSION_INFO]); - Slime * rawData = new Slime(); - SlimePtr payloadData(rawData); + auto slime = std::make_unique<Slime>(); DecompressedData data(decompress(((*_returnValues)[1]._data._buf), ((*_returnValues)[1]._data._len), info.compressionType, info.uncompressedSize)); if (data.memRef.size > 0) { - size_t consumedSize = JsonFormat::decode(data.memRef, *rawData); + size_t consumedSize = JsonFormat::decode(data.memRef, *slime); if (consumedSize == 0) { - std::string json(make_json(*payloadData, true)); + std::string json(make_json(*slime, true)); LOG(error, "Error decoding JSON. Consumed size: %lu, uncompressed size: %u, compression type: %s, assumed uncompressed size(%u), compressed size: %u, slime(%s)", consumedSize, data.size, compressionTypeToString(info.compressionType).c_str(), info.uncompressedSize, ((*_returnValues)[1]._data._len), json.c_str()); LOG_ABORT("Error decoding JSON"); } @@ -70,7 +69,7 @@ FRTConfigResponseV3::readConfigValue() const if (LOG_WOULD_LOG(spam)) { LOG(spam, "read config value md5(%s), payload size: %lu", md5.c_str(), data.memRef.size); } - return ConfigValue(PayloadPtr(new V3Payload(payloadData)), md5); + return ConfigValue(std::make_shared<V3Payload>(std::move(slime)), md5); } } // namespace config diff --git a/config/src/vespa/config/frt/frtconfigresponsev3.h b/config/src/vespa/config/frt/frtconfigresponsev3.h index 3a7f77cc2c1..b4addb0af9a 100644 --- a/config/src/vespa/config/frt/frtconfigresponsev3.h +++ b/config/src/vespa/config/frt/frtconfigresponsev3.h @@ -22,7 +22,7 @@ public: private: static const vespalib::string RESPONSE_TYPES; const vespalib::string & getResponseTypes() const override; - const ConfigValue readConfigValue() const override; + ConfigValue readConfigValue() const override; }; } // namespace config diff --git a/config/src/vespa/config/frt/protocol.h b/config/src/vespa/config/frt/protocol.h index 805ce6ff81b..a14fa492ac7 100644 --- a/config/src/vespa/config/frt/protocol.h +++ b/config/src/vespa/config/frt/protocol.h @@ -22,7 +22,7 @@ int readTraceLevel(); CompressionType readProtocolCompressionType(); struct Payload { - virtual ~Payload() {} + virtual ~Payload() = default; virtual const vespalib::slime::Inspector & getSlimePayload() const = 0; }; diff --git a/config/src/vespa/config/frt/slimeconfigresponse.cpp b/config/src/vespa/config/frt/slimeconfigresponse.cpp index e16e97164d5..181ab58b184 100644 --- a/config/src/vespa/config/frt/slimeconfigresponse.cpp +++ b/config/src/vespa/config/frt/slimeconfigresponse.cpp @@ -22,6 +22,8 @@ SlimeConfigResponse::SlimeConfigResponse(FRT_RPCRequest * request) { } +SlimeConfigResponse::~SlimeConfigResponse() = default; + void SlimeConfigResponse::fill() { @@ -30,9 +32,9 @@ SlimeConfigResponse::fill() return; } Memory json((*_returnValues)[0]._string._str); - Slime * data = new Slime(); + auto data = std::make_unique<Slime>(); JsonFormat::decode(json, *data); - _data.reset(data); + _data = std::move(data); _key = readKey(); _state = readState(); _value = readConfigValue(); @@ -50,7 +52,7 @@ SlimeConfigResponse::readTrace() _trace.deserialize(root[RESPONSE_TRACE]); } -const ConfigKey +ConfigKey SlimeConfigResponse::readKey() const { Inspector & root(_data->get()); @@ -60,7 +62,7 @@ SlimeConfigResponse::readKey() const root[RESPONSE_DEF_MD5].asString().make_string()); } -const ConfigState +ConfigState SlimeConfigResponse::readState() const { const Slime & data(*_data); diff --git a/config/src/vespa/config/frt/slimeconfigresponse.h b/config/src/vespa/config/frt/slimeconfigresponse.h index 983ecad179e..4c6a805d6cc 100644 --- a/config/src/vespa/config/frt/slimeconfigresponse.h +++ b/config/src/vespa/config/frt/slimeconfigresponse.h @@ -22,7 +22,7 @@ private: SlimeConfigResponse& operator=(const SlimeConfigResponse&); public: SlimeConfigResponse(FRT_RPCRequest * request); - ~SlimeConfigResponse() {} + ~SlimeConfigResponse() override; const ConfigKey & getKey() const override { return _key; } const ConfigValue & getValue() const override { return _value; } @@ -35,7 +35,7 @@ public: void fill() override; protected: - virtual const ConfigValue readConfigValue() const = 0; + virtual ConfigValue readConfigValue() const = 0; private: ConfigKey _key; @@ -44,8 +44,8 @@ private: Trace _trace; bool _filled; - const ConfigKey readKey() const; - const ConfigState readState() const; + ConfigKey readKey() const; + ConfigState readState() const; void readTrace(); protected: diff --git a/config/src/vespa/config/retriever/configsnapshot.cpp b/config/src/vespa/config/retriever/configsnapshot.cpp index c5246aab9c9..7aaf4ffd6f8 100644 --- a/config/src/vespa/config/retriever/configsnapshot.cpp +++ b/config/src/vespa/config/retriever/configsnapshot.cpp @@ -248,10 +248,9 @@ ConfigSnapshot::deserializeValueV2(Inspector & inspector) const { int64_t lastChanged = static_cast<int64_t>(inspector["lastChanged"].asDouble()); vespalib::string md5(inspector["md5"].asString().make_string()); - FixedPayload * payload = new FixedPayload(); - PayloadPtr data(payload); + auto payload = std::make_unique<FixedPayload>(); copySlimeObject(inspector["payload"], payload->getData().setObject()); - return Value(lastChanged, ConfigValue(data, md5)); + return Value(lastChanged, ConfigValue(std::move(payload) , md5)); } } |