diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-21 18:59:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-21 18:59:31 +0100 |
commit | 9d83cff2851b2126700b1b3cf7b4080ac7c8fb81 (patch) | |
tree | 49b08e0b66fdec37bce82643b5c310db0cb41a7b /config/src | |
parent | a7e8bb9dcf3c674a3756e0f0383384593856415a (diff) |
Revert "Use a common FNET_Transport owned by Proton in both SceduledExecutor …"
Diffstat (limited to 'config/src')
-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, 20 insertions, 22 deletions
diff --git a/config/src/tests/file_acquirer/file_acquirer_test.cpp b/config/src/tests/file_acquirer/file_acquirer_test.cpp index 7daafc37fcf..f289e42edcb 100644 --- a/config/src/tests/file_acquirer/file_acquirer_test.cpp +++ b/config/src/tests/file_acquirer/file_acquirer_test.cpp @@ -3,16 +3,12 @@ #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; @@ -24,16 +20,10 @@ struct ServerFixture : FRT_Invokable { rb.ReturnDesc("file_path", "actual path to the requested file"); } - ServerFixture() - : server(), - threadPool(64_Ki), - transport(), - orb(server.supervisor()) - { + ServerFixture() : server(), 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) { @@ -46,12 +36,10 @@ struct ServerFixture : FRT_Invokable { } } - ~ServerFixture() { - transport.ShutDown(true); - } + ~ServerFixture() = default; }; -TEST_FF("require that files can be acquired over rpc", ServerFixture(), RpcFileAcquirer(f1.transport, f1.spec)) { +TEST_FF("require that files can be acquired over rpc", ServerFixture(), RpcFileAcquirer(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 9cf280566e0..46782cac9ca 100644 --- a/config/src/vespa/config/file_acquirer/file_acquirer.cpp +++ b/config/src/vespa/config/file_acquirer/file_acquirer.cpp @@ -13,10 +13,14 @@ LOG_SETUP(".config.file_acquirer"); namespace config { -RpcFileAcquirer::RpcFileAcquirer(FNET_Transport & transport, const vespalib::string &spec) - : _orb(std::make_unique<FRT_Supervisor>(&transport)), +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())), _spec(spec) -{ } +{ + _transport->Start(_threadPool.get()); +} vespalib::string RpcFileAcquirer::wait_for(const vespalib::string &file_ref, double timeout_s) @@ -38,6 +42,9 @@ RpcFileAcquirer::wait_for(const vespalib::string &file_ref, double timeout_s) return path; } -RpcFileAcquirer::~RpcFileAcquirer() = default; +RpcFileAcquirer::~RpcFileAcquirer() +{ + _transport->ShutDown(true); +} } // 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 a6d90fbee15..4088065281d 100644 --- a/config/src/vespa/config/file_acquirer/file_acquirer.h +++ b/config/src/vespa/config/file_acquirer/file_acquirer.h @@ -6,6 +6,7 @@ class FRT_Supervisor; class FNET_Transport; +class FastOS_ThreadPool; namespace config { @@ -25,10 +26,12 @@ struct FileAcquirer { class RpcFileAcquirer : public FileAcquirer { private: - std::unique_ptr<FRT_Supervisor> _orb; - vespalib::string _spec; + std::unique_ptr<FastOS_ThreadPool> _threadPool; + std::unique_ptr<FNET_Transport> _transport; + std::unique_ptr<FRT_Supervisor> _orb; + vespalib::string _spec; public: - RpcFileAcquirer(FNET_Transport & transport, const vespalib::string &spec); + RpcFileAcquirer(const vespalib::string &spec); vespalib::string wait_for(const vespalib::string &file_ref, double timeout_s) override; ~RpcFileAcquirer() override; }; |