diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-21 17:48:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-21 17:48:53 +0100 |
commit | f67ad6e4bdb5cf4b834428c61bc18953d9efd761 (patch) | |
tree | 9757653934822d409febc6956169af0002883388 /config | |
parent | 1e8eaa98bb490f99f4b085256ce232aff1a95aca (diff) | |
parent | 83a2ef4c43a00eb09d31e41925260f5ea85c40bd (diff) |
Merge pull request #21281 from vespa-engine/balder/use-common-transport
Use a common FNET_Transport owned by Proton in both SceduledExecutor …
Diffstat (limited to 'config')
-rw-r--r-- | config/src/tests/file_acquirer/file_acquirer_test.cpp | 18 | ||||
-rw-r--r-- | config/src/vespa/config/file_acquirer/file_acquirer.cpp | 15 | ||||
-rw-r--r-- | config/src/vespa/config/file_acquirer/file_acquirer.h | 9 |
3 files changed, 22 insertions, 20 deletions
diff --git a/config/src/tests/file_acquirer/file_acquirer_test.cpp b/config/src/tests/file_acquirer/file_acquirer_test.cpp index f289e42edcb..7daafc37fcf 100644 --- a/config/src/tests/file_acquirer/file_acquirer_test.cpp +++ b/config/src/tests/file_acquirer/file_acquirer_test.cpp @@ -3,12 +3,16 @@ #include <vespa/config/file_acquirer/file_acquirer.h> #include <vespa/fnet/frt/supervisor.h> #include <vespa/fnet/frt/rpcrequest.h> +#include <vespa/fnet/transport.h> +#include <vespa/fastos/thread.h> #include <vespa/vespalib/util/stringfmt.h> using namespace config; struct ServerFixture : FRT_Invokable { fnet::frt::StandaloneFRT server; + FastOS_ThreadPool threadPool; + FNET_Transport transport; FRT_Supervisor &orb; vespalib::string spec; @@ -20,10 +24,16 @@ struct ServerFixture : FRT_Invokable { rb.ReturnDesc("file_path", "actual path to the requested file"); } - ServerFixture() : server(), orb(server.supervisor()) { + ServerFixture() + : server(), + threadPool(64_Ki), + transport(), + orb(server.supervisor()) + { init_rpc(); orb.Listen(0); spec = vespalib::make_string("tcp/localhost:%d", orb.GetListenPort()); + transport.Start(&threadPool); } void RPC_waitFor(FRT_RPCRequest *req) { @@ -36,10 +46,12 @@ struct ServerFixture : FRT_Invokable { } } - ~ServerFixture() = default; + ~ServerFixture() { + transport.ShutDown(true); + } }; -TEST_FF("require that files can be acquired over rpc", ServerFixture(), RpcFileAcquirer(f1.spec)) { +TEST_FF("require that files can be acquired over rpc", ServerFixture(), RpcFileAcquirer(f1.transport, f1.spec)) { EXPECT_EQUAL("my_path", f2.wait_for("my_ref", 60.0)); EXPECT_EQUAL("", f2.wait_for("bogus_ref", 60.0)); } diff --git a/config/src/vespa/config/file_acquirer/file_acquirer.cpp b/config/src/vespa/config/file_acquirer/file_acquirer.cpp index 46782cac9ca..9cf280566e0 100644 --- a/config/src/vespa/config/file_acquirer/file_acquirer.cpp +++ b/config/src/vespa/config/file_acquirer/file_acquirer.cpp @@ -13,14 +13,10 @@ LOG_SETUP(".config.file_acquirer"); namespace config { -RpcFileAcquirer::RpcFileAcquirer(const vespalib::string &spec) - : _threadPool(std::make_unique<FastOS_ThreadPool>(60_Ki)), - _transport(std::make_unique<FNET_Transport>()), - _orb(std::make_unique<FRT_Supervisor>(_transport.get())), +RpcFileAcquirer::RpcFileAcquirer(FNET_Transport & transport, const vespalib::string &spec) + : _orb(std::make_unique<FRT_Supervisor>(&transport)), _spec(spec) -{ - _transport->Start(_threadPool.get()); -} +{ } vespalib::string RpcFileAcquirer::wait_for(const vespalib::string &file_ref, double timeout_s) @@ -42,9 +38,6 @@ RpcFileAcquirer::wait_for(const vespalib::string &file_ref, double timeout_s) return path; } -RpcFileAcquirer::~RpcFileAcquirer() -{ - _transport->ShutDown(true); -} +RpcFileAcquirer::~RpcFileAcquirer() = default; } // namespace config diff --git a/config/src/vespa/config/file_acquirer/file_acquirer.h b/config/src/vespa/config/file_acquirer/file_acquirer.h index 4088065281d..a6d90fbee15 100644 --- a/config/src/vespa/config/file_acquirer/file_acquirer.h +++ b/config/src/vespa/config/file_acquirer/file_acquirer.h @@ -6,7 +6,6 @@ class FRT_Supervisor; class FNET_Transport; -class FastOS_ThreadPool; namespace config { @@ -26,12 +25,10 @@ struct FileAcquirer { class RpcFileAcquirer : public FileAcquirer { private: - std::unique_ptr<FastOS_ThreadPool> _threadPool; - std::unique_ptr<FNET_Transport> _transport; - std::unique_ptr<FRT_Supervisor> _orb; - vespalib::string _spec; + std::unique_ptr<FRT_Supervisor> _orb; + vespalib::string _spec; public: - RpcFileAcquirer(const vespalib::string &spec); + RpcFileAcquirer(FNET_Transport & transport, const vespalib::string &spec); vespalib::string wait_for(const vespalib::string &file_ref, double timeout_s) override; ~RpcFileAcquirer() override; }; |