aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-02-21 18:59:31 +0100
committerGitHub <noreply@github.com>2022-02-21 18:59:31 +0100
commit9d83cff2851b2126700b1b3cf7b4080ac7c8fb81 (patch)
tree49b08e0b66fdec37bce82643b5c310db0cb41a7b /config
parenta7e8bb9dcf3c674a3756e0f0383384593856415a (diff)
Revert "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.cpp18
-rw-r--r--config/src/vespa/config/file_acquirer/file_acquirer.cpp15
-rw-r--r--config/src/vespa/config/file_acquirer/file_acquirer.h9
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;
};