diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2018-10-03 18:31:53 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2018-10-03 18:31:53 +0000 |
commit | 5646cca73e1eb7a0564a3c44f55ea0be4bef2c60 (patch) | |
tree | 288a11c799bc8ffe15cd8b3d59f2da27235eb1f7 /slobrok/src | |
parent | b66a71773cb32162a0d8b25c73c7b902620093bc (diff) |
simplify some APIs
Diffstat (limited to 'slobrok/src')
5 files changed, 28 insertions, 24 deletions
diff --git a/slobrok/src/vespa/slobrok/server/cmd.cpp b/slobrok/src/vespa/slobrok/server/cmd.cpp index dd3797e8d70..00eda9799d7 100644 --- a/slobrok/src/vespa/slobrok/server/cmd.cpp +++ b/slobrok/src/vespa/slobrok/server/cmd.cpp @@ -100,17 +100,17 @@ ScriptCommand::doneHandler(OkState result) if (data._state == ScriptData::RDC_INIT) { LOG(spam, "phase wantAdd(%s,%s)", data.name.c_str(), data.spec.c_str()); data._state = ScriptData::XCH_WANTADD; - data.env._exchanger.wantAdd(data.name.c_str(), data.spec.c_str(), std::move(dataUP)); + data.env._exchanger.wantAdd(std::move(dataUP)); return; } else if (data._state == ScriptData::XCH_WANTADD) { LOG(spam, "phase addManaged(%s,%s)", data.name.c_str(), data.spec.c_str()); data._state = ScriptData::CHK_RPCSRV; - data.env._rpcsrvmanager.addManaged(data.name, data.spec.c_str(), std::move(dataUP)); + data.env._rpcsrvmanager.addManaged(std::move(dataUP)); return; } else if (data._state == ScriptData::CHK_RPCSRV) { LOG(spam, "phase doAdd(%s,%s)", data.name.c_str(), data.spec.c_str()); data._state = ScriptData::XCH_DOADD; - data.env._exchanger.doAdd(data.name.c_str(), data.spec.c_str(), std::move(dataUP)); + data.env._exchanger.doAdd(std::move(dataUP)); return; } else if (data._state == ScriptData::XCH_DOADD) { LOG(debug, "done doAdd(%s,%s)", data.name.c_str(), data.spec.c_str()); diff --git a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp index b303dfcea87..9b2f0fd5a72 100644 --- a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp +++ b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp @@ -69,7 +69,7 @@ ExchangeManager::getPartnerList() void ExchangeManager::forwardRemove(const std::string & name, const std::string & spec) { - WorkPackage *package = new WorkPackage(WorkPackage::OP_REMOVE, name, spec, *this, + WorkPackage *package = new WorkPackage(WorkPackage::OP_REMOVE, *this, ScriptCommand::makeRemRemCmd(_env, name, spec)); for (const auto & entry : _partners) { package->addItem(entry.second.get()); @@ -78,9 +78,9 @@ ExchangeManager::forwardRemove(const std::string & name, const std::string & spe } void -ExchangeManager::doAdd(const std::string &name, const std::string &spec, ScriptCommand rdc) +ExchangeManager::doAdd(ScriptCommand rdc) { - WorkPackage *package = new WorkPackage(WorkPackage::OP_DOADD, name, spec, *this, std::move(rdc)); + WorkPackage *package = new WorkPackage(WorkPackage::OP_DOADD, *this, std::move(rdc)); for (const auto & entry : _partners) { package->addItem(entry.second.get()); @@ -90,9 +90,9 @@ ExchangeManager::doAdd(const std::string &name, const std::string &spec, ScriptC void -ExchangeManager::wantAdd(const std::string &name, const std::string &spec, ScriptCommand rdc) +ExchangeManager::wantAdd(ScriptCommand rdc) { - WorkPackage *package = new WorkPackage(WorkPackage::OP_WANTADD, name, spec, *this, std::move(rdc)); + WorkPackage *package = new WorkPackage(WorkPackage::OP_WANTADD, *this, std::move(rdc)); for (const auto & entry : _partners) { package->addItem(entry.second.get()); } @@ -169,16 +169,17 @@ ExchangeManager::WorkPackage::WorkItem::~WorkItem() } -ExchangeManager::WorkPackage::WorkPackage(op_type op, const std::string & name, const std::string & spec, - ExchangeManager &exchanger, ScriptCommand donehandler) +ExchangeManager::WorkPackage::WorkPackage(op_type op, + ExchangeManager &exchanger, + ScriptCommand script) : _work(), _doneCnt(0), _numDenied(0), - _donehandler(std::move(donehandler)), + _donehandler(std::move(script)), _exchanger(exchanger), _optype(op), - _name(name), - _spec(spec) + _name(_donehandler.name()), + _spec(_donehandler.spec()) { } diff --git a/slobrok/src/vespa/slobrok/server/exchange_manager.h b/slobrok/src/vespa/slobrok/server/exchange_manager.h index c0084c5e054..f86807a6f68 100644 --- a/slobrok/src/vespa/slobrok/server/exchange_manager.h +++ b/slobrok/src/vespa/slobrok/server/exchange_manager.h @@ -60,11 +60,11 @@ private: ~WorkItem(); }; std::vector<std::unique_ptr<WorkItem>> _work; - size_t _doneCnt; - size_t _numDenied; - ScriptCommand _donehandler; + size_t _doneCnt; + size_t _numDenied; + ScriptCommand _donehandler; public: - ExchangeManager &_exchanger; + ExchangeManager &_exchanger; enum op_type { OP_NOP, OP_WANTADD, OP_DOADD, OP_REMOVE }; op_type _optype; const std::string _name; @@ -74,8 +74,9 @@ private: void expedite(); WorkPackage(const WorkPackage&) = delete; WorkPackage& operator= (const WorkPackage&) = delete; - WorkPackage(op_type op, const std::string & name, const std::string & spec, - ExchangeManager &exchanger, ScriptCommand donehandler); + WorkPackage(op_type op, + ExchangeManager &exchanger, + ScriptCommand donehandler); ~WorkPackage(); }; @@ -95,8 +96,8 @@ public: void forwardRemove(const std::string & name, const std::string & spec); - void wantAdd(const std::string & name, const std::string & spec, ScriptCommand rdc); - void doAdd(const std::string & name, const std::string & spec, ScriptCommand rdc); + void wantAdd(ScriptCommand rdc); + void doAdd(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 6d6b30be516..e3d7800f236 100644 --- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp +++ b/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp @@ -239,8 +239,10 @@ RpcServerManager::removeLocal(const std::string & name, const std::string &spec) void -RpcServerManager::addManaged(const std::string &name, const std::string &spec, ScriptCommand rdc) +RpcServerManager::addManaged(ScriptCommand rdc) { + const std::string &name = rdc.name(); + const std::string &spec = rdc.spec(); auto newRpcServer = std::make_unique<ManagedRpcServer>(name, spec, *this); ManagedRpcServer & rpcsrv = *newRpcServer; _rpcsrvmap.addNew(std::move(newRpcServer)); diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h b/slobrok/src/vespa/slobrok/server/rpc_server_manager.h index 1385648783a..174afc1adcc 100644 --- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h +++ b/slobrok/src/vespa/slobrok/server/rpc_server_manager.h @@ -38,7 +38,7 @@ private: struct MRSandRRSC { ManagedRpcServer *rpcsrv; - ScriptCommand handler; + ScriptCommand handler; MRSandRRSC(ManagedRpcServer *d, ScriptCommand h) : rpcsrv(d), handler(std::move(h)) {} }; @@ -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, ScriptCommand rdc); + void addManaged(ScriptCommand rdc); OkState remove(ManagedRpcServer *rpcsrv); |