aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-08-31 20:13:16 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-08-31 20:13:16 +0000
commit2b8e530c8420a085556590b9298ca1d38d8e6c4f (patch)
treed7eec33f45ec8d33710bf254a4f119db76fc4b04 /config
parentf6792aac5a511e0e67cb5fe1c989bff4c786cbab (diff)
Avoid using raw pointers, and move the smart pointers.
Diffstat (limited to 'config')
-rw-r--r--config/src/tests/configretriever/configretriever.cpp4
-rw-r--r--config/src/vespa/config/common/configvalue.cpp6
-rw-r--r--config/src/vespa/config/common/configvalue.h2
-rw-r--r--config/src/vespa/config/frt/frtconfigresponsev3.cpp17
-rw-r--r--config/src/vespa/config/frt/frtconfigresponsev3.h2
-rw-r--r--config/src/vespa/config/frt/protocol.h2
-rw-r--r--config/src/vespa/config/frt/slimeconfigresponse.cpp10
-rw-r--r--config/src/vespa/config/frt/slimeconfigresponse.h8
-rw-r--r--config/src/vespa/config/retriever/configsnapshot.cpp5
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));
}
}