summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-10-03 18:22:20 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-10-03 18:22:20 +0000
commitb66a71773cb32162a0d8b25c73c7b902620093bc (patch)
tree2320913516c49287cb6de4f2fa6fbbb84c53de3b /slobrok
parent84f9f71fac7a1c5ee86bd932d4682592627e9d41 (diff)
rename class to something readable
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/vespa/slobrok/server/cmd.cpp92
-rw-r--r--slobrok/src/vespa/slobrok/server/cmd.h36
-rw-r--r--slobrok/src/vespa/slobrok/server/exchange_manager.cpp8
-rw-r--r--slobrok/src/vespa/slobrok/server/exchange_manager.h8
-rw-r--r--slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp2
-rw-r--r--slobrok/src/vespa/slobrok/server/rpc_server_manager.h6
-rw-r--r--slobrok/src/vespa/slobrok/server/rpchooks.cpp4
7 files changed, 75 insertions, 81 deletions
diff --git a/slobrok/src/vespa/slobrok/server/cmd.cpp b/slobrok/src/vespa/slobrok/server/cmd.cpp
index e728c8f80ad..dd3797e8d70 100644
--- a/slobrok/src/vespa/slobrok/server/cmd.cpp
+++ b/slobrok/src/vespa/slobrok/server/cmd.cpp
@@ -14,61 +14,63 @@ namespace slobrok {
//-----------------------------------------------------------------------------
-struct RegRpcSrvData
-{
-private:
- RegRpcSrvData(const RegRpcSrvData &);
- RegRpcSrvData &operator=(const RegRpcSrvData &);
+struct ScriptData {
+ SBEnv &env;
+ const std::string name;
+ const std::string spec;
+ FRT_RPCRequest * const registerRequest;
-public:
enum {
RDC_INIT, XCH_WANTADD, CHK_RPCSRV, XCH_DOADD, XCH_IGNORE, RDC_INVAL
} _state;
- SBEnv &env;
- const std::string name;
- const std::string spec;
- FRT_RPCRequest * const registerRequest;
-
- RegRpcSrvData(SBEnv &e, const std::string &n, const std::string &s, FRT_RPCRequest *r)
- : _state(RDC_INIT), env(e), name(n), spec(s), registerRequest(r)
+ ScriptData(SBEnv &e, const std::string &n, const std::string &s, FRT_RPCRequest *r)
+ : env(e), name(n), spec(s), registerRequest(r), _state(RDC_INIT)
{}
};
-RegRpcSrvCommand::RegRpcSrvCommand(std::unique_ptr<RegRpcSrvData> data)
- : _data(std::move(data))
+//-----------------------------------------------------------------------------
+
+const std::string &
+ScriptCommand::name() { return _data->name; }
+
+const std::string &
+ScriptCommand::spec() { return _data->spec; }
+
+ScriptCommand::ScriptCommand(std::unique_ptr<ScriptData> data)
+ : _data(std::move(data))
{}
-RegRpcSrvCommand::RegRpcSrvCommand(RegRpcSrvCommand &&) = default;
-RegRpcSrvCommand & RegRpcSrvCommand::operator =(RegRpcSrvCommand &&) = default;
-RegRpcSrvCommand::~RegRpcSrvCommand() = default;
+ScriptCommand::ScriptCommand(ScriptCommand &&) = default;
+ScriptCommand&
+ScriptCommand::operator= (ScriptCommand &&) = default;
+ScriptCommand::~ScriptCommand() = default;
-RegRpcSrvCommand
-RegRpcSrvCommand::makeRegRpcSrvCmd(SBEnv &env,
- const std::string &name, const std::string &spec,
- FRT_RPCRequest *req)
+ScriptCommand
+ScriptCommand::makeRegRpcSrvCmd(SBEnv &env,
+ const std::string &name, const std::string &spec,
+ FRT_RPCRequest *req)
{
- return RegRpcSrvCommand(std::make_unique<RegRpcSrvData>(env, name, spec, req));
+ return ScriptCommand(std::make_unique<ScriptData>(env, name, spec, req));
}
-RegRpcSrvCommand
-RegRpcSrvCommand::makeRemRemCmd(SBEnv &env, const std::string & name, const std::string &spec)
+ScriptCommand
+ScriptCommand::makeRemRemCmd(SBEnv &env, const std::string & name, const std::string &spec)
{
- auto data = std::make_unique<RegRpcSrvData>(env, name, spec, nullptr);
- data->_state = RegRpcSrvData::XCH_IGNORE;
- return RegRpcSrvCommand(std::move(data));
+ auto data = std::make_unique<ScriptData>(env, name, spec, nullptr);
+ data->_state = ScriptData::XCH_IGNORE;
+ return ScriptCommand(std::move(data));
}
void
-RegRpcSrvCommand::doRequest()
+ScriptCommand::doRequest()
{
- LOG_ASSERT(_data->_state == RegRpcSrvData::RDC_INIT);
+ LOG_ASSERT(_data->_state == ScriptData::RDC_INIT);
doneHandler(OkState());
}
-void
-RegRpcSrvCommand::cleanupReservation(RegRpcSrvData & data)
+void cleanupReservation(ScriptData & data)
{
RpcServerMap &map = data.env._rpcsrvmap;
const ReservedName *rsvp = map.getReservation(data.name.c_str());
@@ -78,11 +80,11 @@ RegRpcSrvCommand::cleanupReservation(RegRpcSrvData & data)
}
void
-RegRpcSrvCommand::doneHandler(OkState result)
+ScriptCommand::doneHandler(OkState result)
{
LOG_ASSERT(_data != nullptr);
- std::unique_ptr<RegRpcSrvData> dataUP = std::move(_data);
- RegRpcSrvData & data = *dataUP;
+ std::unique_ptr<ScriptData> dataUP = std::move(_data);
+ ScriptData & data = *dataUP;
if (result.failed()) {
LOG(warning, "failed in state %d: %s", data._state, result.errorMsg.c_str());
cleanupReservation(data);
@@ -93,30 +95,30 @@ RegRpcSrvCommand::doneHandler(OkState result)
} else {
LOG(warning, "ignored: %s", result.errorMsg.c_str());
}
- goto alldone;
+ return;
}
- if (data._state == RegRpcSrvData::RDC_INIT) {
+ if (data._state == ScriptData::RDC_INIT) {
LOG(spam, "phase wantAdd(%s,%s)", data.name.c_str(), data.spec.c_str());
- data._state = RegRpcSrvData::XCH_WANTADD;
+ data._state = ScriptData::XCH_WANTADD;
data.env._exchanger.wantAdd(data.name.c_str(), data.spec.c_str(), std::move(dataUP));
return;
- } else if (data._state == RegRpcSrvData::XCH_WANTADD) {
+ } else if (data._state == ScriptData::XCH_WANTADD) {
LOG(spam, "phase addManaged(%s,%s)", data.name.c_str(), data.spec.c_str());
- data._state = RegRpcSrvData::CHK_RPCSRV;
+ data._state = ScriptData::CHK_RPCSRV;
data.env._rpcsrvmanager.addManaged(data.name, data.spec.c_str(), std::move(dataUP));
return;
- } else if (data._state == RegRpcSrvData::CHK_RPCSRV) {
+ } else if (data._state == ScriptData::CHK_RPCSRV) {
LOG(spam, "phase doAdd(%s,%s)", data.name.c_str(), data.spec.c_str());
- data._state = RegRpcSrvData::XCH_DOADD;
+ data._state = ScriptData::XCH_DOADD;
data.env._exchanger.doAdd(data.name.c_str(), data.spec.c_str(), std::move(dataUP));
return;
- } else if (data._state == RegRpcSrvData::XCH_DOADD) {
+ } else if (data._state == ScriptData::XCH_DOADD) {
LOG(debug, "done doAdd(%s,%s)", data.name.c_str(), data.spec.c_str());
- data._state = RegRpcSrvData::RDC_INVAL;
+ data._state = ScriptData::RDC_INVAL;
// all OK
data.registerRequest->Return();
goto alldone;
- } else if (data._state == RegRpcSrvData::XCH_IGNORE) {
+ } else if (data._state == ScriptData::XCH_IGNORE) {
goto alldone;
}
// no other state should be possible
diff --git a/slobrok/src/vespa/slobrok/server/cmd.h b/slobrok/src/vespa/slobrok/server/cmd.h
index 07b3d3ee0ba..02ae16e457b 100644
--- a/slobrok/src/vespa/slobrok/server/cmd.h
+++ b/slobrok/src/vespa/slobrok/server/cmd.h
@@ -9,34 +9,26 @@ class FRT_RPCRequest;
namespace slobrok {
class SBEnv;
+struct ScriptData;
-struct RegRpcSrvData;
-
-/**
- * @class RegRpcSrvCommand
- * @brief Small "script" to handle the various stages of a registration
- *
- * XXX should change name, also used for other tasks
- **/
-class RegRpcSrvCommand
+class ScriptCommand
{
private:
- std::unique_ptr<RegRpcSrvData> _data;
- static void cleanupReservation(RegRpcSrvData &);
- RegRpcSrvCommand(std::unique_ptr<RegRpcSrvData> data);
+ std::unique_ptr<ScriptData> _data;
+ ScriptCommand(std::unique_ptr<ScriptData> data);
public:
- virtual void doneHandler(OkState result);
- void doRequest();
+ const std::string &name();
+ const std::string &spec();
- RegRpcSrvCommand(RegRpcSrvCommand &&);
- RegRpcSrvCommand & operator=(RegRpcSrvCommand &&);
- virtual ~RegRpcSrvCommand();
+ ScriptCommand(ScriptCommand &&);
+ ScriptCommand& operator= (ScriptCommand &&);
+ ~ScriptCommand();
- static RegRpcSrvCommand makeRegRpcSrvCmd(SBEnv &env, const std::string &name, const std::string &spec, FRT_RPCRequest *req);
- static RegRpcSrvCommand makeRemRemCmd(SBEnv &env, const std::string &name, const std::string &spec);
-};
+ static ScriptCommand makeRegRpcSrvCmd(SBEnv &env, const std::string &name, const std::string &spec, FRT_RPCRequest *req);
+ static ScriptCommand makeRemRemCmd(SBEnv &env, const std::string &name, const std::string &spec);
-//-----------------------------------------------------------------------------
+ void doneHandler(OkState result);
+ void doRequest();
+};
} // namespace slobrok
-
diff --git a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp
index 9c02b7bda45..b303dfcea87 100644
--- a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp
+++ b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp
@@ -70,7 +70,7 @@ void
ExchangeManager::forwardRemove(const std::string & name, const std::string & spec)
{
WorkPackage *package = new WorkPackage(WorkPackage::OP_REMOVE, name, spec, *this,
- RegRpcSrvCommand::makeRemRemCmd(_env, name, spec));
+ ScriptCommand::makeRemRemCmd(_env, name, spec));
for (const auto & entry : _partners) {
package->addItem(entry.second.get());
}
@@ -78,7 +78,7 @@ ExchangeManager::forwardRemove(const std::string & name, const std::string & spe
}
void
-ExchangeManager::doAdd(const std::string &name, const std::string &spec, RegRpcSrvCommand rdc)
+ExchangeManager::doAdd(const std::string &name, const std::string &spec, ScriptCommand rdc)
{
WorkPackage *package = new WorkPackage(WorkPackage::OP_DOADD, name, spec, *this, std::move(rdc));
@@ -90,7 +90,7 @@ ExchangeManager::doAdd(const std::string &name, const std::string &spec, RegRpcS
void
-ExchangeManager::wantAdd(const std::string &name, const std::string &spec, RegRpcSrvCommand rdc)
+ExchangeManager::wantAdd(const std::string &name, const std::string &spec, ScriptCommand rdc)
{
WorkPackage *package = new WorkPackage(WorkPackage::OP_WANTADD, name, spec, *this, std::move(rdc));
for (const auto & entry : _partners) {
@@ -170,7 +170,7 @@ ExchangeManager::WorkPackage::WorkItem::~WorkItem()
ExchangeManager::WorkPackage::WorkPackage(op_type op, const std::string & name, const std::string & spec,
- ExchangeManager &exchanger, RegRpcSrvCommand donehandler)
+ ExchangeManager &exchanger, ScriptCommand donehandler)
: _work(),
_doneCnt(0),
_numDenied(0),
diff --git a/slobrok/src/vespa/slobrok/server/exchange_manager.h b/slobrok/src/vespa/slobrok/server/exchange_manager.h
index fc691daa089..c0084c5e054 100644
--- a/slobrok/src/vespa/slobrok/server/exchange_manager.h
+++ b/slobrok/src/vespa/slobrok/server/exchange_manager.h
@@ -62,7 +62,7 @@ private:
std::vector<std::unique_ptr<WorkItem>> _work;
size_t _doneCnt;
size_t _numDenied;
- RegRpcSrvCommand _donehandler;
+ ScriptCommand _donehandler;
public:
ExchangeManager &_exchanger;
enum op_type { OP_NOP, OP_WANTADD, OP_DOADD, OP_REMOVE };
@@ -75,7 +75,7 @@ private:
WorkPackage(const WorkPackage&) = delete;
WorkPackage& operator= (const WorkPackage&) = delete;
WorkPackage(op_type op, const std::string & name, const std::string & spec,
- ExchangeManager &exchanger, RegRpcSrvCommand donehandler);
+ ExchangeManager &exchanger, ScriptCommand donehandler);
~WorkPackage();
};
@@ -95,8 +95,8 @@ public:
void forwardRemove(const std::string & name, const std::string & spec);
- void wantAdd(const std::string & name, const std::string & spec, RegRpcSrvCommand rdc);
- void doAdd(const std::string & name, const std::string & spec, RegRpcSrvCommand rdc);
+ void wantAdd(const std::string & name, const std::string & spec, ScriptCommand rdc);
+ void doAdd(const std::string & name, const std::string & spec, ScriptCommand rdc);
RemoteSlobrok *lookupPartner(const std::string & name) const;
void healthCheck();
diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp b/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp
index e63efd8089a..6d6b30be516 100644
--- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp
+++ b/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp
@@ -239,7 +239,7 @@ RpcServerManager::removeLocal(const std::string & name, const std::string &spec)
void
-RpcServerManager::addManaged(const std::string &name, const std::string &spec, RegRpcSrvCommand rdc)
+RpcServerManager::addManaged(const std::string &name, const std::string &spec, ScriptCommand rdc)
{
auto newRpcServer = std::make_unique<ManagedRpcServer>(name, spec, *this);
ManagedRpcServer & rpcsrv = *newRpcServer;
diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h b/slobrok/src/vespa/slobrok/server/rpc_server_manager.h
index 70ca10e480d..1385648783a 100644
--- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h
+++ b/slobrok/src/vespa/slobrok/server/rpc_server_manager.h
@@ -38,8 +38,8 @@ private:
struct MRSandRRSC {
ManagedRpcServer *rpcsrv;
- RegRpcSrvCommand handler;
- MRSandRRSC(ManagedRpcServer *d, RegRpcSrvCommand h)
+ ScriptCommand handler;
+ MRSandRRSC(ManagedRpcServer *d, ScriptCommand h)
: rpcsrv(d), handler(std::move(h)) {}
};
std::vector<MRSandRRSC> _addManageds;
@@ -55,7 +55,7 @@ public:
OkState addMyReservation(const std::string & name, const std::string & spec);
bool alreadyManaged(const std::string & name, const std::string & spec);
- void addManaged(const std::string & name, const std::string & spec, RegRpcSrvCommand rdc);
+ void addManaged(const std::string & name, const std::string & spec, ScriptCommand rdc);
OkState remove(ManagedRpcServer *rpcsrv);
diff --git a/slobrok/src/vespa/slobrok/server/rpchooks.cpp b/slobrok/src/vespa/slobrok/server/rpchooks.cpp
index 460b060cb82..ff1ce514084 100644
--- a/slobrok/src/vespa/slobrok/server/rpchooks.cpp
+++ b/slobrok/src/vespa/slobrok/server/rpchooks.cpp
@@ -269,8 +269,8 @@ RPCHooks::rpc_registerRpcServer(FRT_RPCRequest *req)
}
// need to actually setup management and decide result later
req->Detach();
- RegRpcSrvCommand completer
- = RegRpcSrvCommand::makeRegRpcSrvCmd(_env, dName, dSpec, req);
+ ScriptCommand completer
+ = ScriptCommand::makeRegRpcSrvCmd(_env, dName, dSpec, req);
completer.doRequest();
}