diff options
Diffstat (limited to 'slobrok/src')
-rw-r--r-- | slobrok/src/apps/check_slobrok/check_slobrok.cpp | 18 | ||||
-rw-r--r-- | slobrok/src/apps/sbcmd/sbcmd.cpp | 18 | ||||
-rw-r--r-- | slobrok/src/tests/configure/configure.cpp | 44 | ||||
-rw-r--r-- | slobrok/src/tests/mirrorapi/mirrorapi.cpp | 26 | ||||
-rw-r--r-- | slobrok/src/tests/oldapi/old.cpp | 30 | ||||
-rw-r--r-- | slobrok/src/tests/registerapi/registerapi.cpp | 5 | ||||
-rw-r--r-- | slobrok/src/tests/standalone/standalone.cpp | 25 | ||||
-rw-r--r-- | slobrok/src/tests/startsome/rpc_info.cpp | 16 | ||||
-rw-r--r-- | slobrok/src/tests/startsome/tstdst.cpp | 2 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/sbenv.cpp | 2 |
10 files changed, 77 insertions, 109 deletions
diff --git a/slobrok/src/apps/check_slobrok/check_slobrok.cpp b/slobrok/src/apps/check_slobrok/check_slobrok.cpp index ed72c459e44..0342cccb221 100644 --- a/slobrok/src/apps/check_slobrok/check_slobrok.cpp +++ b/slobrok/src/apps/check_slobrok/check_slobrok.cpp @@ -13,14 +13,14 @@ LOG_SETUP("check_slobrok"); class Slobrok_Checker : public FastOS_Application { private: - std::unique_ptr<FRT_Supervisor> _supervisor; + std::unique_ptr<fnet::frt::StandaloneFRT> _server; FRT_Target *_target; Slobrok_Checker(const Slobrok_Checker &); Slobrok_Checker &operator=(const Slobrok_Checker &); public: - Slobrok_Checker() : _supervisor(), _target(nullptr) {} + Slobrok_Checker() : _server(), _target(nullptr) {} virtual ~Slobrok_Checker(); int usage(); void initRPC(const char *spec); @@ -30,7 +30,7 @@ public: Slobrok_Checker::~Slobrok_Checker() { - LOG_ASSERT( !_supervisor); + LOG_ASSERT( !_server); LOG_ASSERT(_target == nullptr); } @@ -46,9 +46,8 @@ Slobrok_Checker::usage() void Slobrok_Checker::initRPC(const char *spec) { - _supervisor = std::make_unique<FRT_Supervisor>(); - _target = _supervisor->GetTarget(spec); - _supervisor->Start(); + _server = std::make_unique<fnet::frt::StandaloneFRT>(); + _target = _server->supervisor().GetTarget(spec); } @@ -59,9 +58,8 @@ Slobrok_Checker::finiRPC() _target->SubRef(); _target = nullptr; } - if (_supervisor) { - _supervisor->ShutDown(true); - _supervisor.reset(); + if (_server) { + _server.reset(); } } @@ -82,7 +80,7 @@ Slobrok_Checker::Main() initRPC(tmp.str().c_str()); } - FRT_RPCRequest *req = _supervisor->AllocRPCRequest(); + FRT_RPCRequest *req = _server->supervisor().AllocRPCRequest(); req->SetMethodName("slobrok.system.version"); _target->InvokeSync(req, 5.0); diff --git a/slobrok/src/apps/sbcmd/sbcmd.cpp b/slobrok/src/apps/sbcmd/sbcmd.cpp index c4b76bd7ed0..f32155ae80b 100644 --- a/slobrok/src/apps/sbcmd/sbcmd.cpp +++ b/slobrok/src/apps/sbcmd/sbcmd.cpp @@ -12,14 +12,14 @@ LOG_SETUP("vespa-slobrok-cmd"); class Slobrok_CMD : public FastOS_Application { private: - std::unique_ptr<FRT_Supervisor> _supervisor; + std::unique_ptr<fnet::frt::StandaloneFRT> _server; FRT_Target *_target; Slobrok_CMD(const Slobrok_CMD &); Slobrok_CMD &operator=(const Slobrok_CMD &); public: - Slobrok_CMD() : _supervisor(), _target(nullptr) {} + Slobrok_CMD() : _server(), _target(nullptr) {} virtual ~Slobrok_CMD(); int usage(); void initRPC(const char *spec); @@ -29,7 +29,7 @@ public: Slobrok_CMD::~Slobrok_CMD() { - LOG_ASSERT(! _supervisor); + LOG_ASSERT(! _server); LOG_ASSERT(_target == nullptr); } @@ -56,9 +56,8 @@ Slobrok_CMD::usage() void Slobrok_CMD::initRPC(const char *spec) { - _supervisor = std::make_unique<FRT_Supervisor>(); - _target = _supervisor->GetTarget(spec); - _supervisor->Start(); + _server = std::make_unique<fnet::frt::StandaloneFRT>(); + _target = _server->supervisor().GetTarget(spec); } @@ -69,9 +68,8 @@ Slobrok_CMD::finiRPC() _target->SubRef(); _target = nullptr; } - if (_supervisor) { - _supervisor->ShutDown(true); - _supervisor.reset(); + if (_server) { + _server.reset(); } } @@ -95,7 +93,7 @@ Slobrok_CMD::Main() bool threeTables = false; bool twoTables = false; - FRT_RPCRequest *req = _supervisor->AllocRPCRequest(); + FRT_RPCRequest *req = _server->supervisor().AllocRPCRequest(); req->SetMethodName(_argv[2]); if (strcmp(_argv[2], "slobrok.admin.listAllRpcServers") == 0) { diff --git a/slobrok/src/tests/configure/configure.cpp b/slobrok/src/tests/configure/configure.cpp index 7b1c32bceef..2783d0e3ebf 100644 --- a/slobrok/src/tests/configure/configure.cpp +++ b/slobrok/src/tests/configure/configure.cpp @@ -97,8 +97,8 @@ Test::Main() { TEST_INIT("configure_test"); - FRT_Supervisor orb1; - FRT_Supervisor orb2; + fnet::frt::StandaloneFRT orb1; + fnet::frt::StandaloneFRT orb2; config::ConfigSet set; cloud::config::SlobroksConfigBuilder srv1Builder; @@ -141,18 +141,16 @@ Test::Main() SlobrokServer serverOne(srvConfig1); SlobrokServer serverTwo(srvConfig2); - MirrorAPI mirror1(orb1, cliConfig3); // NB this one will be changed - MirrorAPI mirror2(orb2, cliConfig2); + MirrorAPI mirror1(orb1.supervisor(), cliConfig3); // NB this one will be changed + MirrorAPI mirror2(orb2.supervisor(), cliConfig2); - RegisterAPI reg1(orb1, cliConfig1); - RegisterAPI reg2(orb2, cliConfig2); + RegisterAPI reg1(orb1.supervisor(), cliConfig1); + RegisterAPI reg2(orb2.supervisor(), cliConfig2); - orb1.Listen(18526); - orb2.Listen(18527); - std::string myspec1 = createSpec(orb1.GetListenPort()); - std::string myspec2 = createSpec(orb2.GetListenPort()); - orb1.Start(); - orb2.Start(); + orb1.supervisor().Listen(18526); + orb2.supervisor().Listen(18527); + std::string myspec1 = createSpec(orb1.supervisor().GetListenPort()); + std::string myspec2 = createSpec(orb2.supervisor().GetListenPort()); reg1.registerName("A"); reg2.registerName("B"); @@ -183,16 +181,14 @@ Test::Main() reg1.registerName("A"); reg2.registerName("B"); - FRT_Supervisor orb3; - FRT_Supervisor orb4; - RegisterAPI reg3(orb3, cliConfig1); - RegisterAPI reg4(orb4, cliConfig2); - orb3.Listen(18528); - orb4.Listen(18529); - std::string myspec3 = createSpec(orb3.GetListenPort()); - std::string myspec4 = createSpec(orb4.GetListenPort()); - orb3.Start(); - orb4.Start(); + fnet::frt::StandaloneFRT orb3; + fnet::frt::StandaloneFRT orb4; + RegisterAPI reg3(orb3.supervisor(), cliConfig1); + RegisterAPI reg4(orb4.supervisor(), cliConfig2); + orb3.supervisor().Listen(18528); + orb4.supervisor().Listen(18529); + std::string myspec3 = createSpec(orb3.supervisor().GetListenPort()); + std::string myspec4 = createSpec(orb4.supervisor().GetListenPort()); reg3.registerName("B"); reg4.registerName("A"); @@ -217,9 +213,5 @@ Test::Main() serverOne.stop(); serverTwo.stop(); - orb1.ShutDown(true); - orb2.ShutDown(true); - orb3.ShutDown(true); - orb4.ShutDown(true); TEST_DONE(); } diff --git a/slobrok/src/tests/mirrorapi/mirrorapi.cpp b/slobrok/src/tests/mirrorapi/mirrorapi.cpp index f77dfd80986..23cd201c551 100644 --- a/slobrok/src/tests/mirrorapi/mirrorapi.cpp +++ b/slobrok/src/tests/mirrorapi/mirrorapi.cpp @@ -21,7 +21,7 @@ TEST_SETUP(Test); class Server : public FRT_Invokable { private: - FRT_Supervisor _orb; + fnet::frt::StandaloneFRT _server; std::string _name; std::string _slobrokSpec; @@ -34,12 +34,12 @@ public: Server::Server(std::string name, int port, std::string slobrokSpec) - : _orb(), + : _server(), _name(name), _slobrokSpec(slobrokSpec) { { - FRT_ReflectionBuilder rb(&_orb); + FRT_ReflectionBuilder rb(&_server.supervisor()); //--------------------------------------------------------------------- rb.DefineMethod("slobrok.callback.listNamesServed", "", "S", FRT_METHOD(Server::rpc_listNamesServed), this); @@ -47,8 +47,7 @@ Server::Server(std::string name, int port, std::string slobrokSpec) rb.ReturnDesc("names", "The rpcserver names on this server"); //--------------------------------------------------------------------- } - _orb.Listen(port); - _orb.Start(); + _server.supervisor().Listen(port); } @@ -56,14 +55,14 @@ void Server::reg() { char spec[64]; - sprintf(spec, "tcp/localhost:%d", _orb.GetListenPort()); + sprintf(spec, "tcp/localhost:%d", _server.supervisor().GetListenPort()); - FRT_RPCRequest *req = _orb.AllocRPCRequest(); + FRT_RPCRequest *req = _server.supervisor().AllocRPCRequest(); req->SetMethodName("slobrok.registerRpcServer"); req->GetParams()->AddString(_name.c_str()); req->GetParams()->AddString(spec); - FRT_Target *sb = _orb.GetTarget(_slobrokSpec.c_str()); + FRT_Target *sb = _server.supervisor().GetTarget(_slobrokSpec.c_str()); sb->InvokeSync(req, 5.0); sb->SubRef(); req->SubRef(); @@ -79,10 +78,7 @@ Server::rpc_listNamesServed(FRT_RPCRequest *req) } -Server::~Server() -{ - _orb.ShutDown(true); -} +Server::~Server() = default; //----------------------------------------------------------------------------- @@ -140,10 +136,9 @@ Test::Main() cloud::config::SlobroksConfig::Slobrok slobrok; slobrok.connectionspec = "tcp/localhost:18501"; specBuilder.slobrok.push_back(slobrok); - FRT_Supervisor orb; - MirrorAPI mirror(orb, config::ConfigUri::createFromInstance(specBuilder)); + fnet::frt::StandaloneFRT server; + MirrorAPI mirror(server.supervisor(), config::ConfigUri::createFromInstance(specBuilder)); EXPECT_TRUE(!mirror.ready()); - orb.Start(); FastOS_Thread::Sleep(1000); a.reg(); @@ -224,6 +219,5 @@ Test::Main() .add("A/x/w", "tcp/localhost:18502"))); mock.stop(); - orb.ShutDown(true); TEST_DONE(); } diff --git a/slobrok/src/tests/oldapi/old.cpp b/slobrok/src/tests/oldapi/old.cpp index 42cec186a08..26cf94613bd 100644 --- a/slobrok/src/tests/oldapi/old.cpp +++ b/slobrok/src/tests/oldapi/old.cpp @@ -19,9 +19,9 @@ TEST_SETUP(Test); class Server : public FRT_Invokable { private: - FRT_Supervisor _orb; - std::string _name; - std::string _slobrokSpec; + fnet::frt::StandaloneFRT _server; + std::string _name; + std::string _slobrokSpec; public: Server(std::string name, int port, std::string slobrokSpec); @@ -32,12 +32,12 @@ public: Server::Server(std::string name, int port, std::string slobrokSpec) - : _orb(), + : _server(), _name(name), _slobrokSpec(slobrokSpec) { { - FRT_ReflectionBuilder rb(&_orb); + FRT_ReflectionBuilder rb(&_server.supervisor()); //--------------------------------------------------------------------- rb.DefineMethod("slobrok.callback.listNamesServed", "", "S", FRT_METHOD(Server::rpc_listNamesServed), this); @@ -45,8 +45,7 @@ Server::Server(std::string name, int port, std::string slobrokSpec) rb.ReturnDesc("names", "The rpcserver names on this server"); //--------------------------------------------------------------------- } - _orb.Listen(port); - _orb.Start(); + _server.supervisor().Listen(port); } @@ -54,14 +53,14 @@ void Server::reg() { char spec[64]; - sprintf(spec, "tcp/localhost:%d", _orb.GetListenPort()); + sprintf(spec, "tcp/localhost:%d", _server.supervisor().GetListenPort()); - FRT_RPCRequest *req = _orb.AllocRPCRequest(); + FRT_RPCRequest *req = _server.supervisor().AllocRPCRequest(); req->SetMethodName("slobrok.registerRpcServer"); req->GetParams()->AddString(_name.c_str()); req->GetParams()->AddString(spec); - FRT_Target *sb = _orb.GetTarget(_slobrokSpec.c_str()); + FRT_Target *sb = _server.supervisor().GetTarget(_slobrokSpec.c_str()); sb->InvokeSync(req, 5.0); sb->SubRef(); req->SubRef(); @@ -77,10 +76,7 @@ Server::rpc_listNamesServed(FRT_RPCRequest *req) } -Server::~Server() -{ - _orb.ShutDown(true); -} +Server::~Server() = default; //----------------------------------------------------------------------------- @@ -136,10 +132,9 @@ Test::Main() std::vector<std::string> slobrokSpecs; slobrokSpecs.push_back("tcp/localhost:18531"); - FRT_Supervisor orb; - MirrorOld mirror(orb, slobrokSpecs); + fnet::frt::StandaloneFRT server; + MirrorOld mirror(server.supervisor(), slobrokSpecs); EXPECT_TRUE(!mirror.ready()); - orb.Start(); FastOS_Thread::Sleep(1000); a.reg(); @@ -217,6 +212,5 @@ Test::Main() .add("A/x/w", "tcp/localhost:18532"))); mock.stop(); - orb.ShutDown(true); TEST_DONE(); } diff --git a/slobrok/src/tests/registerapi/registerapi.cpp b/slobrok/src/tests/registerapi/registerapi.cpp index 2b356319ba0..ac7e662c6f2 100644 --- a/slobrok/src/tests/registerapi/registerapi.cpp +++ b/slobrok/src/tests/registerapi/registerapi.cpp @@ -83,12 +83,12 @@ Test::Main() slobrokSpecs.slobrok.push_back(sb); slobrok::ConfiguratorFactory config(config::ConfigUri::createFromInstance(slobrokSpecs)); - FRT_Supervisor orb; + fnet::frt::StandaloneFRT server; + FRT_Supervisor & orb = server.supervisor(); RegisterAPI reg(orb, config); MirrorAPI mirror(orb, config); orb.Listen(18549); std::string myspec = createSpec(orb); - orb.Start(); reg.registerName("A/x/w"); EXPECT_TRUE(reg.busy()); @@ -216,6 +216,5 @@ Test::Main() .add("F/y/w", myspec.c_str()))); mock.stop(); - orb.ShutDown(true); TEST_DONE(); } diff --git a/slobrok/src/tests/standalone/standalone.cpp b/slobrok/src/tests/standalone/standalone.cpp index 136f8125c8b..9d3fd694ee1 100644 --- a/slobrok/src/tests/standalone/standalone.cpp +++ b/slobrok/src/tests/standalone/standalone.cpp @@ -9,7 +9,7 @@ class Server : public FRT_Invokable { private: - FRT_Supervisor _orb; + fnet::frt::StandaloneFRT _server; std::string _name; public: @@ -20,11 +20,11 @@ public: Server::Server(std::string name, int port) - : _orb(), + : _server(), _name(name) { { - FRT_ReflectionBuilder rb(&_orb); + FRT_ReflectionBuilder rb(&_server.supervisor()); //--------------------------------------------------------------------- rb.DefineMethod("slobrok.callback.listNamesServed", "", "S", FRT_METHOD(Server::rpc_listNamesServed), this); @@ -32,8 +32,7 @@ Server::Server(std::string name, int port) rb.ReturnDesc("names", "The rpcserver names on this server"); //--------------------------------------------------------------------- } - _orb.Listen(port); - _orb.Start(); + _server.supervisor().Listen(port); } @@ -46,16 +45,13 @@ Server::rpc_listNamesServed(FRT_RPCRequest *req) } -Server::~Server() -{ - _orb.ShutDown(true); -} +Server::~Server() = default; namespace { bool checkOk(FRT_RPCRequest *req) { - if (req == NULL) { + if (req == nullptr) { fprintf(stderr, "req is null pointer, this is bad\n"); return false; } @@ -80,7 +76,7 @@ private: public: SubReferer(T* &t) : _t(t) {} ~SubReferer() { - if (_t != NULL) _t->SubRef(); + if (_t != nullptr) _t->SubRef(); } }; @@ -118,14 +114,13 @@ TEST("standalone") { slobrok::SlobrokServer slobrokServer(18541); Stopper<slobrok::SlobrokServer> ssCleaner(slobrokServer); - FRT_Supervisor orb; - orb.Start(); - ShutDowner<FRT_Supervisor> orbCleaner(orb); + fnet::frt::StandaloneFRT server; + FRT_Supervisor & orb = server.supervisor(); FRT_Target *sb = orb.GetTarget(18541); SubReferer<FRT_Target> sbCleaner(sb); - FRT_RPCRequest *req = NULL; + FRT_RPCRequest *req = nullptr; SubReferer<FRT_RPCRequest> reqCleaner(req); for (int retry=0; retry < 5*61; retry++) { diff --git a/slobrok/src/tests/startsome/rpc_info.cpp b/slobrok/src/tests/startsome/rpc_info.cpp index 036c486fe4f..0f8739d12be 100644 --- a/slobrok/src/tests/startsome/rpc_info.cpp +++ b/slobrok/src/tests/startsome/rpc_info.cpp @@ -12,16 +12,16 @@ public: void GetReq(FRT_RPCRequest **req, FRT_Supervisor *supervisor) { - if ((*req) != NULL) + if ((*req) != nullptr) (*req)->SubRef(); (*req) = supervisor->AllocRPCRequest(); } void FreeReqs(FRT_RPCRequest *r1, FRT_RPCRequest *r2) { - if (r1 != NULL) + if (r1 != nullptr) r1->SubRef(); - if (r2 != NULL) + if (r2 != nullptr) r2->SubRef(); } @@ -75,11 +75,11 @@ public: } bool verbose = (_argc > 2 && strcmp(_argv[2], "verbose") == 0); - FRT_Supervisor supervisor; + fnet::frt::StandaloneFRT server; + FRT_Supervisor & supervisor = server.supervisor(); FRT_Target *target = supervisor.GetTarget(_argv[1]); - FRT_RPCRequest *m_list = NULL; - FRT_RPCRequest *info = NULL; - supervisor.Start(); + FRT_RPCRequest *m_list = nullptr; + FRT_RPCRequest *info = nullptr; GetReq(&info, &supervisor); info->SetMethodName("frt.rpc.ping"); @@ -87,7 +87,6 @@ public: if (info->IsError()) { fprintf(stderr, "Error talking to %s\n", _argv[1]); FreeReqs(m_list, info); - supervisor.ShutDown(true); return 1; } @@ -125,7 +124,6 @@ public: } FreeReqs(m_list, info); target->SubRef(); - supervisor.ShutDown(true); return 0; } }; diff --git a/slobrok/src/tests/startsome/tstdst.cpp b/slobrok/src/tests/startsome/tstdst.cpp index 4723b3819d7..c119ed3c026 100644 --- a/slobrok/src/tests/startsome/tstdst.cpp +++ b/slobrok/src/tests/startsome/tstdst.cpp @@ -132,7 +132,7 @@ RPCHooks::rpc_stop(FRT_RPCRequest *req) TstEnv::TstEnv(int sbp, int myp, const char *n) : _transport(new FNET_Transport()), - _supervisor(new FRT_Supervisor(_transport, NULL)), + _supervisor(new FRT_Supervisor(_transport)), _myport(myp), _sbport(sbp), _rpcHooks(NULL), diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp index 4e510b61e70..91a283b17f3 100644 --- a/slobrok/src/vespa/slobrok/server/sbenv.cpp +++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp @@ -86,7 +86,7 @@ ConfigTask::PerformTask() SBEnv::SBEnv(const ConfigShim &shim) : _transport(std::make_unique<FNET_Transport>()), - _supervisor(std::make_unique<FRT_Supervisor>(_transport.get(), nullptr)), + _supervisor(std::make_unique<FRT_Supervisor>(_transport.get())), _configShim(shim), _configurator(shim.factory().create(*this)), _shuttingDown(false), |