summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-02-18 11:21:14 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-02-18 11:21:14 +0000
commit5a69c6d44c95461e5166fd6f549ad7ce2926af63 (patch)
tree77bd4c9e029ddccab756edd4701137336f49c295 /config
parent551674b5d16963a63d019c23c191b9fbaa2288e2 (diff)
Reduce code visibility and some UP typedefs.
Diffstat (limited to 'config')
-rw-r--r--config/src/apps/vespa-get-config/getconfig.cpp10
-rw-r--r--config/src/tests/configagent/configagent.cpp8
-rw-r--r--config/src/tests/frt/frt.cpp9
-rw-r--r--config/src/vespa/config/common/configrequest.h5
-rw-r--r--config/src/vespa/config/common/configresponse.h7
-rw-r--r--config/src/vespa/config/frt/frtconfigagent.cpp7
-rw-r--r--config/src/vespa/config/frt/frtconfigrequest.cpp9
-rw-r--r--config/src/vespa/config/frt/frtconfigrequest.h8
-rw-r--r--config/src/vespa/config/frt/frtconfigrequestfactory.cpp4
-rw-r--r--config/src/vespa/config/frt/frtconfigrequestfactory.h17
-rw-r--r--config/src/vespa/config/frt/frtconfigrequestv3.cpp4
-rw-r--r--config/src/vespa/config/frt/frtconfigrequestv3.h2
-rw-r--r--config/src/vespa/config/frt/frtconfigresponse.h4
-rw-r--r--config/src/vespa/config/frt/frtsource.cpp11
-rw-r--r--config/src/vespa/config/frt/frtsource.h27
-rw-r--r--config/src/vespa/config/frt/frtsourcefactory.cpp1
-rw-r--r--config/src/vespa/config/frt/slimeconfigrequest.h2
-rw-r--r--config/src/vespa/config/frt/slimeconfigresponse.h10
-rw-r--r--config/src/vespa/config/retriever/configretriever.cpp4
-rw-r--r--config/src/vespa/config/retriever/configretriever.h8
-rw-r--r--config/src/vespa/config/subscription/sourcespec.cpp1
21 files changed, 80 insertions, 78 deletions
diff --git a/config/src/apps/vespa-get-config/getconfig.cpp b/config/src/apps/vespa-get-config/getconfig.cpp
index 78ae9c390f0..5c681d09526 100644
--- a/config/src/apps/vespa-get-config/getconfig.cpp
+++ b/config/src/apps/vespa-get-config/getconfig.cpp
@@ -4,11 +4,15 @@
#include <vespa/fnet/frt/target.h>
#include <vespa/config/frt/frtconfigrequestfactory.h>
#include <vespa/config/frt/frtconnection.h>
+#include <vespa/config/frt/protocol.h>
+#include <vespa/config/frt/frtconfigrequest.h>
#include <vespa/config/common/payload_converter.h>
#include <vespa/config/common/configvalue.h>
+#include <vespa/config/common/configstate.h>
+#include <vespa/config/common/configresponse.h>
+#include <vespa/config/common/trace.h>
#include <vespa/fastos/app.h>
-#include <string>
#include <sstream>
#include <fstream>
@@ -231,11 +235,11 @@ GetConfig::Main()
FRTConnection connection(spec, _server->supervisor(), TimingValues());
ConfigKey key(configId, defName, defNamespace, defMD5, defSchema);
ConfigState state(configXxhash64, generation, false);
- FRTConfigRequest::UP request = requestFactory.createConfigRequest(key, &connection, state, serverTimeout);
+ std::unique_ptr<FRTConfigRequest> request = requestFactory.createConfigRequest(key, &connection, state, serverTimeout);
_target->InvokeSync(request->getRequest(), vespalib::to_s(clientTimeout)); // seconds
- ConfigResponse::UP response = request->createResponse(request->getRequest());
+ std::unique_ptr<ConfigResponse> response = request->createResponse(request->getRequest());
response->validateResponse();
if (response->isError()) {
fprintf(stderr, "error %d: %s\n",
diff --git a/config/src/tests/configagent/configagent.cpp b/config/src/tests/configagent/configagent.cpp
index 03155f6261d..9684d401a37 100644
--- a/config/src/tests/configagent/configagent.cpp
+++ b/config/src/tests/configagent/configagent.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <vespa/vespalib/testkit/test_kit.h>
-#include <vespa/config/common/misc.h>
#include <vespa/config/common/configrequest.h>
#include <vespa/config/common/configresponse.h>
#include <vespa/config/common/timingvalues.h>
@@ -21,7 +20,6 @@ public:
const ConfigKey & getKey() const override { return _key; }
bool abort() override { return false; }
- bool isAborted() const override { return false; }
void setError(int errorCode) override { (void) errorCode; }
bool verifyState(const ConfigState &) const override { return false; }
const ConfigKey _key;
@@ -64,17 +62,17 @@ public:
Trace _trace;
- static ConfigResponse::UP createOKResponse(const ConfigKey & key, const ConfigValue & value, uint64_t timestamp = 10, const vespalib::string & xxhash64 = "a")
+ static std::unique_ptr<ConfigResponse> createOKResponse(const ConfigKey & key, const ConfigValue & value, uint64_t timestamp = 10, const vespalib::string & xxhash64 = "a")
{
return std::make_unique<MyConfigResponse>(key, value, true, timestamp, xxhash64, "", 0, false);
}
- static ConfigResponse::UP createServerErrorResponse(const ConfigKey & key, const ConfigValue & value)
+ static std::unique_ptr<ConfigResponse> createServerErrorResponse(const ConfigKey & key, const ConfigValue & value)
{
return std::make_unique<MyConfigResponse>(key, value, true, 10, "a", "whinewhine", 2, true);
}
- static ConfigResponse::UP createConfigErrorResponse(const ConfigKey & key, const ConfigValue & value)
+ static std::unique_ptr<ConfigResponse> createConfigErrorResponse(const ConfigKey & key, const ConfigValue & value)
{
return std::make_unique<MyConfigResponse>(key, value, false, 10, "a", "", 0, false);
}
diff --git a/config/src/tests/frt/frt.cpp b/config/src/tests/frt/frt.cpp
index e590aebaf76..3eda573cb27 100644
--- a/config/src/tests/frt/frt.cpp
+++ b/config/src/tests/frt/frt.cpp
@@ -9,6 +9,9 @@
#include <vespa/config/frt/frtsource.h>
#include <vespa/config/frt/frtconfigrequestv3.h>
#include <vespa/config/frt/frtconfigresponsev3.h>
+#include <vespa/config/frt/connectionfactory.h>
+#include <vespa/config/frt/frtconfigagent.h>
+#include <vespa/config/frt/frtconfigrequestfactory.h>
#include <vespa/vespalib/data/slime/slime.h>
#include <vespa/vespalib/data/slime/json_format.h>
#include <vespa/vespalib/data/simple_buffer.h>
@@ -153,13 +156,13 @@ namespace {
const ConfigState & getConfigState() const override { return result->state; }
duration getWaitTime () const override { return result->waitTime; }
duration getTimeout() const override { return result->timeout; }
- void handleResponse(const ConfigRequest & request, ConfigResponse::UP response) override
+ void handleResponse(const ConfigRequest & request, std::unique_ptr<ConfigResponse> response) override
{
(void) request;
(void) response;
result->notified = true;
}
- void handleRequest(ConfigRequest::UP request)
+ void handleRequest(std::unique_ptr<ConfigResponse> request)
{
(void) request;
}
@@ -278,7 +281,7 @@ TEST("require that v3 request is correctly initialized") {
ConfigDefinition def;
def.deserialize(root[REQUEST_DEF_CONTENT]);
EXPECT_EQUAL(origDef.asString(), def.asString());
- ConfigResponse::UP response(v3req.createResponse(req));
+ std::unique_ptr<ConfigResponse> response(v3req.createResponse(req));
req->GetReturn()->AddString("foobar");
req->GetReturn()->AddData("foo", 3);
EXPECT_TRUE(response->validateResponse());
diff --git a/config/src/vespa/config/common/configrequest.h b/config/src/vespa/config/common/configrequest.h
index 4331b204d72..043a3a509f4 100644
--- a/config/src/vespa/config/common/configrequest.h
+++ b/config/src/vespa/config/common/configrequest.h
@@ -17,14 +17,13 @@ struct ConfigState;
class ConfigRequest {
public:
- typedef std::unique_ptr<ConfigRequest> UP;
-
+ ConfigRequest() = default;
+ ConfigRequest(const ConfigRequest&) = delete;
ConfigRequest& operator=(const ConfigRequest&) = delete;
virtual ~ConfigRequest() = default;
virtual const ConfigKey & getKey() const = 0;
/** Abort a request. */
virtual bool abort() = 0;
- virtual bool isAborted() const = 0;
virtual void setError(int errorCode) = 0;
virtual bool verifyState(const ConfigState & state) const = 0;
diff --git a/config/src/vespa/config/common/configresponse.h b/config/src/vespa/config/common/configresponse.h
index 053fe9a3112..7c73bec127c 100644
--- a/config/src/vespa/config/common/configresponse.h
+++ b/config/src/vespa/config/common/configresponse.h
@@ -16,9 +16,7 @@ class Trace;
*/
class ConfigResponse {
public:
- typedef std::unique_ptr<ConfigResponse> UP;
-
- virtual ~ConfigResponse() { }
+ virtual ~ConfigResponse() = default;
virtual const ConfigKey & getKey() const = 0;
virtual const ConfigValue & getValue() const = 0;
@@ -52,5 +50,4 @@ public:
virtual bool isError() const = 0;
};
-} // namespace config
-
+}
diff --git a/config/src/vespa/config/frt/frtconfigagent.cpp b/config/src/vespa/config/frt/frtconfigagent.cpp
index 9689c5ee2a1..b5bcb3591f0 100644
--- a/config/src/vespa/config/frt/frtconfigagent.cpp
+++ b/config/src/vespa/config/frt/frtconfigagent.cpp
@@ -2,6 +2,7 @@
#include "frtconfigagent.h"
#include "frtconfigrequestv3.h"
#include <vespa/config/common/trace.h>
+#include <vespa/config/common/configresponse.h>
#include <vespa/config/common/iconfigholder.h>
#include <vespa/log/log.h>
@@ -24,7 +25,7 @@ FRTConfigAgent::FRTConfigAgent(std::shared_ptr<IConfigHolder> holder, const Timi
FRTConfigAgent::~FRTConfigAgent() = default;
void
-FRTConfigAgent::handleResponse(const ConfigRequest & request, ConfigResponse::UP response)
+FRTConfigAgent::handleResponse(const ConfigRequest & request, std::unique_ptr<ConfigResponse> response)
{
if (LOG_WOULD_LOG(spam)) {
const ConfigKey & key(request.getKey());
@@ -38,7 +39,7 @@ FRTConfigAgent::handleResponse(const ConfigRequest & request, ConfigResponse::UP
}
void
-FRTConfigAgent::handleOKResponse(const ConfigRequest & request, ConfigResponse::UP response)
+FRTConfigAgent::handleOKResponse(const ConfigRequest & request, std::unique_ptr<ConfigResponse> response)
{
_failedRequests = 0;
response->fill();
@@ -79,7 +80,7 @@ FRTConfigAgent::handleUpdatedGeneration(const ConfigKey & key, const ConfigState
using vespalib::to_s;
void
-FRTConfigAgent::handleErrorResponse(const ConfigRequest & request, ConfigResponse::UP response)
+FRTConfigAgent::handleErrorResponse(const ConfigRequest & request, std::unique_ptr<ConfigResponse> response)
{
_failedRequests++;
int multiplier = std::min(_failedRequests, _timingValues.maxDelayMultiplier);
diff --git a/config/src/vespa/config/frt/frtconfigrequest.cpp b/config/src/vespa/config/frt/frtconfigrequest.cpp
index 1673fda30f4..2106da64857 100644
--- a/config/src/vespa/config/frt/frtconfigrequest.cpp
+++ b/config/src/vespa/config/frt/frtconfigrequest.cpp
@@ -7,7 +7,8 @@
namespace config {
FRTConfigRequest::FRTConfigRequest(Connection * connection, const ConfigKey & key)
- : _request(connection->allocRPCRequest()),
+ : ConfigRequest(),
+ _request(connection->allocRPCRequest()),
_parameters(*_request->GetParams()),
_connection(connection),
_key(key)
@@ -37,10 +38,4 @@ FRTConfigRequest::getKey() const
return _key;
}
-bool
-FRTConfigRequest::isAborted() const
-{
- return (_request->GetErrorCode() == FRTE_RPC_ABORT);
-}
-
} // namespace config
diff --git a/config/src/vespa/config/frt/frtconfigrequest.h b/config/src/vespa/config/frt/frtconfigrequest.h
index c0ce6bb060a..4bcab2c6377 100644
--- a/config/src/vespa/config/frt/frtconfigrequest.h
+++ b/config/src/vespa/config/frt/frtconfigrequest.h
@@ -2,16 +2,14 @@
#pragma once
#include <vespa/config/common/configrequest.h>
-#include <vespa/config/common/configresponse.h>
#include <vespa/config/common/configkey.h>
-#include <vespa/vespalib/stllike/string.h>
class FRT_Values;
class FRT_RPCRequest;
namespace config {
-class ConfigKey;
+class ConfigResponse;
class Connection;
/**
@@ -19,17 +17,15 @@ class Connection;
*/
class FRTConfigRequest : public ConfigRequest {
public:
- typedef std::unique_ptr<FRTConfigRequest> UP;
FRTConfigRequest(Connection * connection, const ConfigKey & key);
~FRTConfigRequest();
bool abort() override;
- bool isAborted() const override;
void setError(int errorCode) override;
const ConfigKey & getKey() const override;
FRT_RPCRequest* getRequest() { return _request; }
- virtual ConfigResponse::UP createResponse(FRT_RPCRequest * request) const = 0;
+ virtual std::unique_ptr<ConfigResponse> createResponse(FRT_RPCRequest * request) const = 0;
protected:
FRT_RPCRequest * _request;
FRT_Values & _parameters;
diff --git a/config/src/vespa/config/frt/frtconfigrequestfactory.cpp b/config/src/vespa/config/frt/frtconfigrequestfactory.cpp
index dd70407183a..28bfb80a299 100644
--- a/config/src/vespa/config/frt/frtconfigrequestfactory.cpp
+++ b/config/src/vespa/config/frt/frtconfigrequestfactory.cpp
@@ -1,6 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "frtconfigrequestfactory.h"
#include "frtconfigrequestv3.h"
+#include <vespa/config/common/trace.h>
+#include <vespa/config/common/configstate.h>
#include <vespa/vespalib/util/host_name.h>
using std::make_unique;
@@ -20,7 +22,7 @@ FRTConfigRequestFactory::FRTConfigRequestFactory(int traceLevel, const VespaVers
FRTConfigRequestFactory::~FRTConfigRequestFactory() = default;
-FRTConfigRequest::UP
+std::unique_ptr<FRTConfigRequest>
FRTConfigRequestFactory::createConfigRequest(const ConfigKey & key, Connection * connection,
const ConfigState & state, vespalib::duration serverTimeout) const
{
diff --git a/config/src/vespa/config/frt/frtconfigrequestfactory.h b/config/src/vespa/config/frt/frtconfigrequestfactory.h
index ac6ad30ac97..9c1186263e0 100644
--- a/config/src/vespa/config/frt/frtconfigrequestfactory.h
+++ b/config/src/vespa/config/frt/frtconfigrequestfactory.h
@@ -1,17 +1,18 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/config/common/configkey.h>
-#include <vespa/config/common/configstate.h>
-#include <vespa/config/common/trace.h>
#include <vespa/config/common/compressiontype.h>
#include <vespa/config/common/vespa_version.h>
-#include "frtconfigrequest.h"
-#include "protocol.h"
-#include "connection.h"
+#include <vespa/vespalib/util/time.h>
+#include <memory>
namespace config {
+class FRTConfigRequest;
+class ConfigKey;
+class Connection;
+class ConfigState;
+
/**
* Factory for creating config requests depending on protocol version;
*/
@@ -21,7 +22,9 @@ public:
FRTConfigRequestFactory(int traceLevel, const VespaVersion & vespaVersion, const CompressionType & compressionType);
~FRTConfigRequestFactory();
- FRTConfigRequest::UP createConfigRequest(const ConfigKey & key, Connection * connection, const ConfigState & state, vespalib::duration serverTimeout) const;
+ std::unique_ptr<FRTConfigRequest>
+ createConfigRequest(const ConfigKey & key, Connection * connection,
+ const ConfigState & state, vespalib::duration serverTimeout) const;
private:
const int _traceLevel;
const VespaVersion _vespaVersion;
diff --git a/config/src/vespa/config/frt/frtconfigrequestv3.cpp b/config/src/vespa/config/frt/frtconfigrequestv3.cpp
index 8504e0ee122..fe8ec2a0403 100644
--- a/config/src/vespa/config/frt/frtconfigrequestv3.cpp
+++ b/config/src/vespa/config/frt/frtconfigrequestv3.cpp
@@ -24,10 +24,10 @@ FRTConfigRequestV3::FRTConfigRequestV3(Connection * connection,
-ConfigResponse::UP
+std::unique_ptr<ConfigResponse>
FRTConfigRequestV3::createResponse(FRT_RPCRequest * request) const
{
- return ConfigResponse::UP(new FRTConfigResponseV3(request));
+ return std::make_unique<FRTConfigResponseV3>(request);
}
}
diff --git a/config/src/vespa/config/frt/frtconfigrequestv3.h b/config/src/vespa/config/frt/frtconfigrequestv3.h
index 5e74d88d284..a3f765eeb19 100644
--- a/config/src/vespa/config/frt/frtconfigrequestv3.h
+++ b/config/src/vespa/config/frt/frtconfigrequestv3.h
@@ -24,7 +24,7 @@ public:
const Trace & trace,
const VespaVersion & vespaVersion,
const CompressionType & compressionType);
- ConfigResponse::UP createResponse(FRT_RPCRequest * request) const override;
+ std::unique_ptr<ConfigResponse> createResponse(FRT_RPCRequest * request) const override;
};
}
diff --git a/config/src/vespa/config/frt/frtconfigresponse.h b/config/src/vespa/config/frt/frtconfigresponse.h
index 38a95f6d6cb..2b9a4d34ccf 100644
--- a/config/src/vespa/config/frt/frtconfigresponse.h
+++ b/config/src/vespa/config/frt/frtconfigresponse.h
@@ -2,10 +2,6 @@
#pragma once
#include <vespa/config/common/configresponse.h>
-#include <vespa/config/common/configkey.h>
-#include <vespa/config/common/configvalue.h>
-#include <vespa/config/common/trace.h>
-#include <vespa/config/common/configstate.h>
class FRT_RPCRequest;
class FRT_Values;
diff --git a/config/src/vespa/config/frt/frtsource.cpp b/config/src/vespa/config/frt/frtsource.cpp
index edea25e9aa7..1cb514dcd4d 100644
--- a/config/src/vespa/config/frt/frtsource.cpp
+++ b/config/src/vespa/config/frt/frtsource.cpp
@@ -2,6 +2,10 @@
#include "frtconfigrequest.h"
#include "frtconfigresponse.h"
#include "frtsource.h"
+#include "frtconfigagent.h"
+#include "connectionfactory.h"
+#include "connection.h"
+#include "frtconfigrequestfactory.h"
#include <cassert>
#include <vespa/log/log.h>
@@ -26,8 +30,9 @@ private:
FRTSource * _source;
};
-FRTSource::FRTSource(const ConnectionFactory::SP & connectionFactory, const FRTConfigRequestFactory & requestFactory, ConfigAgent::UP agent, const ConfigKey & key)
- : _connectionFactory(connectionFactory),
+FRTSource::FRTSource(std::shared_ptr<ConnectionFactory> connectionFactory, const FRTConfigRequestFactory & requestFactory,
+ std::unique_ptr<ConfigAgent> agent, const ConfigKey & key)
+ : _connectionFactory(std::move(connectionFactory)),
_requestFactory(requestFactory),
_agent(std::move(agent)),
_currentRequest(),
@@ -59,7 +64,7 @@ FRTSource::getConfig()
// LOG(debug, "invoking request with md5 %s, gen %" PRId64 ", servertimeout(%" PRId64 "), client(%f)", state.md5.c_str(), state.generation, serverTimeout, clientTimeout);
- FRTConfigRequest::UP request = _requestFactory.createConfigRequest(_key, connection, state, serverTimeout);
+ std::unique_ptr<FRTConfigRequest> request = _requestFactory.createConfigRequest(_key, connection, state, serverTimeout);
FRT_RPCRequest * req = request->getRequest();
_currentRequest = std::move(request);
diff --git a/config/src/vespa/config/frt/frtsource.h b/config/src/vespa/config/frt/frtsource.h
index a53797dc331..1885aa7e534 100644
--- a/config/src/vespa/config/frt/frtsource.h
+++ b/config/src/vespa/config/frt/frtsource.h
@@ -1,16 +1,17 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "connectionfactory.h"
-#include "frtconfigagent.h"
-#include "frtconfigrequestfactory.h"
#include <vespa/config/common/configkey.h>
-#include <vespa/config/common/configrequest.h>
#include <vespa/config/common/source.h>
#include <vespa/fnet/frt/invoker.h>
namespace config {
+class FRTConfigRequestFactory;
+class ConnectionFactory;
+class ConfigAgent;
+class FRTConfigRequest;
+
/**
* Class for sending and receiving config requests via FRT.
*/
@@ -18,7 +19,7 @@ class FRTSource : public Source,
public FRT_IRequestWait
{
public:
- FRTSource(const ConnectionFactory::SP & connectionFactory, const FRTConfigRequestFactory & requestFactory, ConfigAgent::UP agent, const ConfigKey & key);
+ FRTSource(std::shared_ptr<ConnectionFactory> connectionFactory, const FRTConfigRequestFactory & requestFactory, std::unique_ptr<ConfigAgent> agent, const ConfigKey & key);
~FRTSource() override;
void RequestDone(FRT_RPCRequest * request) override;
@@ -28,15 +29,15 @@ public:
private:
void scheduleNextGetConfig();
- ConnectionFactory::SP _connectionFactory;
- const FRTConfigRequestFactory & _requestFactory;
- ConfigAgent::UP _agent;
- FRTConfigRequest::UP _currentRequest;
- const ConfigKey _key;
+ std::shared_ptr<ConnectionFactory> _connectionFactory;
+ const FRTConfigRequestFactory & _requestFactory;
+ std::unique_ptr<ConfigAgent> _agent;
+ std::unique_ptr<FRTConfigRequest> _currentRequest;
+ const ConfigKey _key;
- std::mutex _lock; // Protects _task and _closed
- std::unique_ptr<FNET_Task> _task;
- bool _closed;
+ std::mutex _lock; // Protects _task and _closed
+ std::unique_ptr<FNET_Task> _task;
+ bool _closed;
};
} // namespace config
diff --git a/config/src/vespa/config/frt/frtsourcefactory.cpp b/config/src/vespa/config/frt/frtsourcefactory.cpp
index 259098edb90..9706e3bbd5e 100644
--- a/config/src/vespa/config/frt/frtsourcefactory.cpp
+++ b/config/src/vespa/config/frt/frtsourcefactory.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "frtsourcefactory.h"
#include "frtsource.h"
+#include "frtconfigagent.h"
namespace config {
diff --git a/config/src/vespa/config/frt/slimeconfigrequest.h b/config/src/vespa/config/frt/slimeconfigrequest.h
index c17eab2f2bc..70d35ce0e99 100644
--- a/config/src/vespa/config/frt/slimeconfigrequest.h
+++ b/config/src/vespa/config/frt/slimeconfigrequest.h
@@ -33,7 +33,7 @@ public:
const vespalib::string & methodName);
~SlimeConfigRequest();
bool verifyState(const ConfigState & state) const override;
- virtual ConfigResponse::UP createResponse(FRT_RPCRequest * request) const override = 0;
+ virtual std::unique_ptr<ConfigResponse> createResponse(FRT_RPCRequest * request) const override = 0;
private:
void populateSlimeRequest(const ConfigKey & key,
const vespalib::string & configXxhash64,
diff --git a/config/src/vespa/config/frt/slimeconfigresponse.h b/config/src/vespa/config/frt/slimeconfigresponse.h
index 1c2be28a18c..87320f48dd4 100644
--- a/config/src/vespa/config/frt/slimeconfigresponse.h
+++ b/config/src/vespa/config/frt/slimeconfigresponse.h
@@ -5,6 +5,7 @@
#include <vespa/config/common/configkey.h>
#include <vespa/config/common/configvalue.h>
#include <vespa/config/common/trace.h>
+#include <vespa/config/common/configstate.h>
#include <vespa/config/common/misc.h>
#include <vespa/vespalib/data/slime/slime.h>
#include "protocol.h"
@@ -18,10 +19,9 @@ namespace config {
* Baseclass for config responses.
*/
class SlimeConfigResponse : public FRTConfigResponse {
-private:
- SlimeConfigResponse& operator=(const SlimeConfigResponse&);
public:
SlimeConfigResponse(FRT_RPCRequest * request);
+ SlimeConfigResponse& operator=(const SlimeConfigResponse&) = delete;
~SlimeConfigResponse() override;
const ConfigKey & getKey() const override { return _key; }
@@ -37,11 +37,11 @@ protected:
virtual ConfigValue readConfigValue() const = 0;
private:
- ConfigKey _key;
+ ConfigKey _key;
ConfigValue _value;
ConfigState _state;
- Trace _trace;
- bool _filled;
+ Trace _trace;
+ bool _filled;
ConfigKey readKey() const;
ConfigState readState() const;
diff --git a/config/src/vespa/config/retriever/configretriever.cpp b/config/src/vespa/config/retriever/configretriever.cpp
index 5d7daf5d366..b2de6337434 100644
--- a/config/src/vespa/config/retriever/configretriever.cpp
+++ b/config/src/vespa/config/retriever/configretriever.cpp
@@ -19,10 +19,10 @@ ConfigRetriever::ConfigRetriever(const ConfigKeySet & bootstrapSet,
_subscriptionList(),
_lastKeySet(),
_context(context),
- _closed(false),
_generation(-1),
_subscribeTimeout(subscribeTimeout),
- _bootstrapRequired(true)
+ _bootstrapRequired(true),
+ _closed(false)
{
}
diff --git a/config/src/vespa/config/retriever/configretriever.h b/config/src/vespa/config/retriever/configretriever.h
index ae0dfd3fa34..8fea6af0863 100644
--- a/config/src/vespa/config/retriever/configretriever.h
+++ b/config/src/vespa/config/retriever/configretriever.h
@@ -98,10 +98,10 @@ private:
ConfigKeySet _lastKeySet;
std::shared_ptr<IConfigContext> _context;
std::unique_ptr<SourceSpec> _spec;
- bool _closed;
- int64_t _generation;
- vespalib::duration _subscribeTimeout;
- bool _bootstrapRequired;
+ int64_t _generation;
+ vespalib::duration _subscribeTimeout;
+ bool _bootstrapRequired;
+ bool _closed;
};
} // namespace config
diff --git a/config/src/vespa/config/subscription/sourcespec.cpp b/config/src/vespa/config/subscription/sourcespec.cpp
index 8009cdfd217..6af981807de 100644
--- a/config/src/vespa/config/subscription/sourcespec.cpp
+++ b/config/src/vespa/config/subscription/sourcespec.cpp
@@ -6,6 +6,7 @@
#include <vespa/config/file/filesourcefactory.h>
#include <vespa/config/frt/frtsourcefactory.h>
#include <vespa/config/frt/frtconnectionpool.h>
+#include <vespa/config/frt/protocol.h>
#include <vespa/config/set/configsetsourcefactory.h>
#include <vespa/config/set/configinstancesourcefactory.h>
#include <vespa/vespalib/text/stringtokenizer.h>