aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-09-08 10:33:07 +0000
committerArne H Juul <arnej@yahooinc.com>2021-09-08 11:23:18 +0000
commit6dd7cf05769a84c5cf59feaf530080ca4c877e29 (patch)
tree28e3f5171f363bda42e2ecb924b9845906af1867 /slobrok
parentd81e11514c0af9aeb9f78df0c912fcd7a97e1ef5 (diff)
wire feature flag into SBEnv
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/apps/slobrok/slobrok.cpp7
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.cpp5
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.h3
3 files changed, 11 insertions, 4 deletions
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<SBEnv>(shim);
+ mainobj = std::make_unique<SBEnv>(shim, useNewLogic);
} else {
ConfigShim shim(portnum, cfgId);
shim.enableStateServer(true);
- mainobj = std::make_unique<SBEnv>(shim);
+ mainobj = std::make_unique<SBEnv>(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::<unnamed>
-SBEnv::SBEnv(const ConfigShim &shim)
+SBEnv::SBEnv(const ConfigShim &shim) : SBEnv(shim, false) {}
+
+SBEnv::SBEnv(const ConfigShim &shim, bool useNewConsensusLogic)
: _transport(std::make_unique<FNET_Transport>(TransportConfig().drop_empty_buffers(true))),
_supervisor(std::make_unique<FRT_Supervisor>(_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();