From 6dd7cf05769a84c5cf59feaf530080ca4c877e29 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Wed, 8 Sep 2021 10:33:07 +0000 Subject: wire feature flag into SBEnv --- slobrok/src/apps/slobrok/slobrok.cpp | 7 ++++--- slobrok/src/vespa/slobrok/server/sbenv.cpp | 5 ++++- slobrok/src/vespa/slobrok/server/sbenv.h | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'slobrok') diff --git a/slobrok/src/apps/slobrok/slobrok.cpp b/slobrok/src/apps/slobrok/slobrok.cpp index 63212745644..b2748762a12 100644 --- a/slobrok/src/apps/slobrok/slobrok.cpp +++ b/slobrok/src/apps/slobrok/slobrok.cpp @@ -50,6 +50,7 @@ App::Main() { uint32_t portnum = 2773; vespalib::string cfgId; + bool useNewLogic = false; int argi = 1; const char* optArg; @@ -63,7 +64,7 @@ App::Main() portnum = atoi(optArg); break; case 'N': - // ignore flag for now + useNewLogic = true; break; default: LOG(error, "unknown option letter '%c'", c); @@ -75,11 +76,11 @@ App::Main() if (cfgId.empty()) { LOG(debug, "no config id specified"); ConfigShim shim(portnum); - mainobj = std::make_unique(shim); + mainobj = std::make_unique(shim, useNewLogic); } else { ConfigShim shim(portnum, cfgId); shim.enableStateServer(true); - mainobj = std::make_unique(shim); + mainobj = std::make_unique(shim, useNewLogic); } hook_sigterm(); res = mainobj->MainLoop(); diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp index 1f54716c29c..19396934e67 100644 --- a/slobrok/src/vespa/slobrok/server/sbenv.cpp +++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp @@ -97,12 +97,15 @@ ConfigTask::PerformTask() } // namespace slobrok:: -SBEnv::SBEnv(const ConfigShim &shim) +SBEnv::SBEnv(const ConfigShim &shim) : SBEnv(shim, false) {} + +SBEnv::SBEnv(const ConfigShim &shim, bool useNewConsensusLogic) : _transport(std::make_unique(TransportConfig().drop_empty_buffers(true))), _supervisor(std::make_unique(_transport.get())), _configShim(shim), _configurator(shim.factory().create(*this)), _shuttingDown(false), + _useNewLogic(useNewConsensusLogic), _partnerList(), _me(createSpec(_configShim.portNumber())), _rpcHooks(*this, _rpcsrvmap, _rpcsrvmanager), diff --git a/slobrok/src/vespa/slobrok/server/sbenv.h b/slobrok/src/vespa/slobrok/server/sbenv.h index 44b7305814c..c6fd8905131 100644 --- a/slobrok/src/vespa/slobrok/server/sbenv.h +++ b/slobrok/src/vespa/slobrok/server/sbenv.h @@ -44,6 +44,7 @@ private: ConfigShim _configShim; Configurator::UP _configurator; bool _shuttingDown; + const bool _useNewLogic; SBEnv(const SBEnv &); // Not used SBEnv &operator=(const SBEnv &); // Not used @@ -71,6 +72,7 @@ private: public: explicit SBEnv(const ConfigShim &shim); + SBEnv(const ConfigShim &shim, bool useNewConsensusLogic); ~SBEnv(); FNET_Transport *getTransport() { return _transport.get(); } @@ -105,6 +107,7 @@ public: bool isSuspended() const { return false; } bool isShuttingDown() const { return _shuttingDown; } + bool useNewLogic() const { return _useNewLogic; } int MainLoop(); -- cgit v1.2.3