diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-18 11:21:14 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-18 11:21:14 +0000 |
commit | 5a69c6d44c95461e5166fd6f549ad7ce2926af63 (patch) | |
tree | 77bd4c9e029ddccab756edd4701137336f49c295 /config | |
parent | 551674b5d16963a63d019c23c191b9fbaa2288e2 (diff) |
Reduce code visibility and some UP typedefs.
Diffstat (limited to 'config')
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> |