summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/src/vespa/config/subscription/sourcespec.cpp16
-rw-r--r--config/src/vespa/config/subscription/sourcespec.h31
-rw-r--r--fnet/src/tests/connect/connect_test.cpp4
-rw-r--r--fnet/src/tests/frt/parallel_rpc/parallel_rpc_test.cpp2
-rw-r--r--fnet/src/tests/transport_debugger/transport_debugger_test.cpp2
-rw-r--r--fnet/src/vespa/fnet/frt/supervisor.h2
-rw-r--r--fnet/src/vespa/fnet/transport.cpp6
-rw-r--r--fnet/src/vespa/fnet/transport.h11
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.cpp4
-rw-r--r--searchcore/src/apps/proton/proton.cpp21
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.cpp25
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.h11
-rw-r--r--slobrok/src/tests/rpc_mapping_monitor/rpc_mapping_monitor_test.cpp9
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.cpp2
-rw-r--r--storage/src/vespa/storage/storageserver/rpc/shared_rpc_resources.cpp2
15 files changed, 94 insertions, 54 deletions
diff --git a/config/src/vespa/config/subscription/sourcespec.cpp b/config/src/vespa/config/subscription/sourcespec.cpp
index ec70f921179..15f45434056 100644
--- a/config/src/vespa/config/subscription/sourcespec.cpp
+++ b/config/src/vespa/config/subscription/sourcespec.cpp
@@ -131,6 +131,22 @@ ServerSpec::createSourceFactory(const TimingValues & timingValues) const
timingValues, _traceLevel, vespaVersion, _compressionType);
}
+ConfigServerSpec::ConfigServerSpec(FNET_Transport & transport)
+ : ServerSpec(),
+ _transport(transport)
+{
+}
+
+ConfigServerSpec::~ConfigServerSpec() = default;
+
+std::unique_ptr<SourceFactory>
+ConfigServerSpec::createSourceFactory(const TimingValues & timingValues) const
+{
+ const auto vespaVersion = VespaVersion::getCurrentVersion();
+ return std::make_unique<FRTSourceFactory>(
+ std::make_unique<FRTConnectionPool>(_transport, *this, timingValues),
+ timingValues, traceLevel(), vespaVersion, compressionType());
+}
ConfigSet::ConfigSet()
: _builderMap(std::make_unique<BuilderMap>())
diff --git a/config/src/vespa/config/subscription/sourcespec.h b/config/src/vespa/config/subscription/sourcespec.h
index 3c23233e3ab..e2bdd1c61ee 100644
--- a/config/src/vespa/config/subscription/sourcespec.h
+++ b/config/src/vespa/config/subscription/sourcespec.h
@@ -7,6 +7,8 @@
#include <vector>
#include <memory>
+class FNET_Transport;
+
namespace config {
class ConfigInstance;
@@ -22,7 +24,6 @@ typedef vespalib::string SourceSpecKey;
class SourceSpec
{
public:
- using SourceFactorySP = std::unique_ptr<SourceFactory>;
using UP = std::unique_ptr<SourceSpec>; /// Convenience typedef
/**
@@ -36,7 +37,7 @@ public:
* @param timingValues Timing values to be used for this source.
* @return An std::unique_ptr<Source> that can be used to ask for config.
*/
- virtual SourceFactorySP createSourceFactory(const TimingValues & timingValues) const = 0;
+ virtual std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const = 0;
virtual ~SourceSpec() = default;
};
@@ -54,8 +55,7 @@ public:
*/
RawSpec(const vespalib::string & config);
- // Implements SourceSpec
- SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
/**
* Returns the string representation of this config.
@@ -89,8 +89,7 @@ public:
*/
const vespalib::string & getFileName() const { return _fileName; }
- // Implements SourceSpec
- SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
private:
void verifyName(const vespalib::string & fileName);
vespalib::string _fileName;
@@ -117,8 +116,7 @@ public:
*/
const vespalib::string & getDirName() const { return _dirName; }
- // Implements SourceSpec
- SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
private:
vespalib::string _dirName;
};
@@ -154,7 +152,7 @@ public:
*/
ServerSpec(const vespalib::string & hostSpec);
- SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
/**
* Inspect how many hosts this source refers to.
@@ -193,6 +191,18 @@ private:
const static int DEFAULT_PROXY_PORT = 19090;
};
+/**
+ * A ServerSpec that allows providing externally supplied transport
+ */
+class ConfigServerSpec : public config::ServerSpec {
+public:
+ ConfigServerSpec(FNET_Transport & transport);
+ ~ConfigServerSpec() override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
+private:
+ FNET_Transport & _transport;
+};
+
/**
@@ -221,8 +231,7 @@ public:
*/
void addBuilder(const vespalib::string & configId, ConfigInstance * builder);
- // Implements SourceSpec
- SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override;
+ std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const override;
private:
BuilderMapSP _builderMap;
};
diff --git a/fnet/src/tests/connect/connect_test.cpp b/fnet/src/tests/connect/connect_test.cpp
index 308981542db..2edb2e694ff 100644
--- a/fnet/src/tests/connect/connect_test.cpp
+++ b/fnet/src/tests/connect/connect_test.cpp
@@ -98,13 +98,13 @@ struct TransportFixture : FNET_IPacketHandler, FNET_IConnectionCleanupHandler {
transport.Start(&pool);
}
TransportFixture(AsyncResolver::HostResolver::SP host_resolver)
- : streamer(nullptr), pool(128_Ki), transport(TransportConfig().resolver(make_resolver(std::move(host_resolver)))),
+ : streamer(nullptr), pool(128_Ki), transport(fnet::TransportConfig().resolver(make_resolver(std::move(host_resolver)))),
conn_lost(), conn_deleted()
{
transport.Start(&pool);
}
TransportFixture(CryptoEngine::SP crypto)
- : streamer(nullptr), pool(128_Ki), transport(TransportConfig().crypto(std::move(crypto))),
+ : streamer(nullptr), pool(128_Ki), transport(fnet::TransportConfig().crypto(std::move(crypto))),
conn_lost(), conn_deleted()
{
transport.Start(&pool);
diff --git a/fnet/src/tests/frt/parallel_rpc/parallel_rpc_test.cpp b/fnet/src/tests/frt/parallel_rpc/parallel_rpc_test.cpp
index 0fd5029c9b9..b027b80f8ab 100644
--- a/fnet/src/tests/frt/parallel_rpc/parallel_rpc_test.cpp
+++ b/fnet/src/tests/frt/parallel_rpc/parallel_rpc_test.cpp
@@ -19,7 +19,7 @@ struct Rpc : FRT_Invokable {
FNET_Transport transport;
FRT_Supervisor orb;
Rpc(CryptoEngine::SP crypto, size_t num_threads, bool drop_empty)
- : thread_pool(128_Ki), transport(TransportConfig(num_threads).crypto(std::move(crypto)).drop_empty_buffers(drop_empty)), orb(&transport) {}
+ : thread_pool(128_Ki), transport(fnet::TransportConfig(num_threads).crypto(std::move(crypto)).drop_empty_buffers(drop_empty)), orb(&transport) {}
void start() {
ASSERT_TRUE(transport.Start(&thread_pool));
}
diff --git a/fnet/src/tests/transport_debugger/transport_debugger_test.cpp b/fnet/src/tests/transport_debugger/transport_debugger_test.cpp
index 044f9da5394..a363b1df4c2 100644
--- a/fnet/src/tests/transport_debugger/transport_debugger_test.cpp
+++ b/fnet/src/tests/transport_debugger/transport_debugger_test.cpp
@@ -18,7 +18,7 @@ vespalib::CryptoEngine::SP tls_crypto = std::make_shared<vespalib::TlsCryptoEngi
struct Service : FRT_Invokable {
fnet::frt::StandaloneFRT frt;
Service(fnet::TimeTools::SP time_tools)
- : frt(TransportConfig(4).crypto(tls_crypto).time_tools(time_tools))
+ : frt(fnet::TransportConfig(4).crypto(tls_crypto).time_tools(time_tools))
{
init_rpc();
ASSERT_TRUE(frt.supervisor().Listen(0));
diff --git a/fnet/src/vespa/fnet/frt/supervisor.h b/fnet/src/vespa/fnet/frt/supervisor.h
index 0207adc8adb..a97385adfed 100644
--- a/fnet/src/vespa/fnet/frt/supervisor.h
+++ b/fnet/src/vespa/fnet/frt/supervisor.h
@@ -10,7 +10,7 @@
#include <vespa/fnet/connection.h>
#include <vespa/fnet/simplepacketstreamer.h>
-class TransportConfig;
+namespace fnet { class TransportConfig; }
class FNET_Transport;
class FRT_Target;
class FastOS_ThreadPool;
diff --git a/fnet/src/vespa/fnet/transport.cpp b/fnet/src/vespa/fnet/transport.cpp
index a695b95bbac..b4e3443b886 100644
--- a/fnet/src/vespa/fnet/transport.cpp
+++ b/fnet/src/vespa/fnet/transport.cpp
@@ -98,8 +98,6 @@ TimeTools::make_debug(vespalib::duration event_timeout,
return std::make_shared<DebugTimeTools>(event_timeout, std::move(current_time));
}
-} // fnet
-
TransportConfig::TransportConfig(int num_threads)
: _config(),
_resolver(),
@@ -125,7 +123,9 @@ TransportConfig::time_tools() const {
return _time_tools ? _time_tools : std::make_shared<DefaultTimeTools>();
}
-FNET_Transport::FNET_Transport(const TransportConfig &cfg)
+} // fnet
+
+FNET_Transport::FNET_Transport(const fnet::TransportConfig &cfg)
: _async_resolver(cfg.resolver()),
_crypto_engine(cfg.crypto()),
_time_tools(cfg.time_tools()),
diff --git a/fnet/src/vespa/fnet/transport.h b/fnet/src/vespa/fnet/transport.h
index 1e8faad9c1d..c3101d37b18 100644
--- a/fnet/src/vespa/fnet/transport.h
+++ b/fnet/src/vespa/fnet/transport.h
@@ -4,8 +4,6 @@
#include "context.h"
#include "config.h"
-#include <memory>
-#include <vector>
#include <vespa/vespalib/net/async_resolver.h>
#include <vespa/vespalib/net/crypto_engine.h>
#include <vespa/vespalib/util/time.h>
@@ -39,7 +37,6 @@ struct TimeTools {
std::function<vespalib::steady_time()> current_time);
};
-} // fnet
class TransportConfig {
public:
@@ -96,6 +93,8 @@ private:
uint32_t _num_threads;
};
+} // fnet
+
/**
* This class represents the transport layer and handles a collection
* of transport threads. Note: remember to shut down your transport
@@ -124,12 +123,12 @@ public:
* the current thread become the transport thread. Main may only
* be called for single-threaded transports.
**/
- explicit FNET_Transport(const TransportConfig &config);
+ explicit FNET_Transport(const fnet::TransportConfig &config);
explicit FNET_Transport(uint32_t num_threads)
- : FNET_Transport(TransportConfig(num_threads)) {}
+ : FNET_Transport(fnet::TransportConfig(num_threads)) {}
FNET_Transport()
- : FNET_Transport(TransportConfig()) {}
+ : FNET_Transport(fnet::TransportConfig()) {}
~FNET_Transport();
const FNET_Config & getConfig() const { return _config; }
diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
index c33f918a39c..0f7ebeb9a36 100644
--- a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
+++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
@@ -80,9 +80,9 @@ struct TargetPoolTask : public FNET_Task {
}
};
-TransportConfig
+fnet::TransportConfig
toFNETConfig(const RPCNetworkParams & params) {
- return TransportConfig(params.getNumNetworkThreads())
+ return fnet::TransportConfig(params.getNumNetworkThreads())
.maxInputBufferSize(params.getMaxInputBufferSize())
.maxOutputBufferSize(params.getMaxOutputBufferSize())
.tcpNoDelay(params.getTcpNoDelay());
diff --git a/searchcore/src/apps/proton/proton.cpp b/searchcore/src/apps/proton/proton.cpp
index 61536f924a5..3a31f941506 100644
--- a/searchcore/src/apps/proton/proton.cpp
+++ b/searchcore/src/apps/proton/proton.cpp
@@ -5,9 +5,13 @@
#include <vespa/metrics/metricmanager.h>
#include <vespa/vespalib/util/signalhandler.h>
#include <vespa/vespalib/util/programoptions.h>
+#include <vespa/vespalib/util/size_literals.h>
#include <vespa/vespalib/io/fileutil.h>
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/config/common/exceptions.h>
+#include <vespa/config/common/configcontext.h>
+#include <vespa/fnet/transport.h>
+#include <vespa/fastos/thread.h>
#include <vespa/fastos/app.h>
#include <iostream>
#include <thread>
@@ -173,6 +177,12 @@ ExitOnSignal::operator()()
}
}
+fnet::TransportConfig
+buildTransportConfig() {
+ uint32_t numProcs = std::thread::hardware_concurrency();
+ return fnet::TransportConfig(std::max(1u, std::min(4u, numProcs/8)));
+}
+
}
int
@@ -186,8 +196,14 @@ App::Main()
LOG(debug, "serviceidentity: '%s'", params.serviceidentity.c_str());
LOG(debug, "subscribeTimeout: '%" PRIu64 "'", params.subscribeTimeout);
std::chrono::milliseconds subscribeTimeout(params.subscribeTimeout);
- config::ConfigUri identityUri(params.identity);
- protonUP = std::make_unique<proton::Proton>(identityUri, _argc > 0 ? _argv[0] : "proton", subscribeTimeout);
+ FastOS_ThreadPool threadPool(128_Ki);
+
+ FNET_Transport transport(buildTransportConfig());
+ transport.Start(&threadPool);
+ config::ConfigServerSpec configServerSpec(transport);
+ config::ConfigUri identityUri(params.identity, std::make_shared<config::ConfigContext>(configServerSpec));
+ protonUP = std::make_unique<proton::Proton>(threadPool, transport, identityUri,
+ _argc > 0 ? _argv[0] : "proton", subscribeTimeout);
proton::Proton & proton = *protonUP;
proton::BootstrapConfig::SP configSnapshot = proton.init();
if (proton.hasAbortedInit()) {
@@ -228,6 +244,7 @@ App::Main()
EV_STOPPING("servicelayer", "clean shutdown");
}
protonUP.reset();
+ transport.ShutDown(true);
EV_STOPPING("proton", "clean shutdown");
}
} catch (const vespalib::InvalidCommandLineArgumentsException &e) {
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
index 0f20b0a7b47..8bd965497a8 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
@@ -201,9 +201,8 @@ Proton::ProtonFileHeaderContext::setClusterName(const vespalib::string & cluster
}
-Proton::Proton(const config::ConfigUri & configUri,
- const vespalib::string &progName,
- vespalib::duration subscribeTimeout)
+Proton::Proton(FastOS_ThreadPool & threadPool, FNET_Transport & transport, const config::ConfigUri & configUri,
+ const vespalib::string &progName, vespalib::duration subscribeTimeout)
: IProtonConfigurerOwner(),
search::engine::MonitorServer(),
IDocumentDBOwner(),
@@ -211,8 +210,8 @@ Proton::Proton(const config::ConfigUri & configUri,
IPersistenceEngineOwner(),
ComponentConfigProducer(),
_cpu_util(),
- _threadPool(std::make_unique<FastOS_ThreadPool>(128_Ki)),
- _transport(std::make_unique<FNET_Transport>(TransportConfig(1))),
+ _threadPool(threadPool),
+ _transport(transport),
_configUri(configUri),
_mutex(),
_metricsHook(std::make_unique<MetricsUpdateHook>(*this)),
@@ -238,7 +237,7 @@ Proton::Proton(const config::ConfigUri & configUri,
_executor(1, 128_Ki),
_protonDiskLayout(),
_protonConfigurer(_executor, *this, _protonDiskLayout),
- _protonConfigFetcher(*_transport, configUri, _protonConfigurer, subscribeTimeout),
+ _protonConfigFetcher(_transport, configUri, _protonConfigurer, subscribeTimeout),
_shared_service(),
_compile_cache_executor_binding(),
_queryLimiter(),
@@ -260,11 +259,10 @@ Proton::init()
{
assert( ! _initStarted && ! _initComplete );
_initStarted = true;
- _transport->Start(_threadPool.get());
- if (_threadPool->NewThread(_clock.getRunnable(), nullptr) == nullptr) {
+ if (_threadPool.NewThread(_clock.getRunnable(), nullptr) == nullptr) {
throw IllegalStateException("Failed starting thread for the cheap clock");
}
- _protonConfigFetcher.start(*_threadPool);
+ _protonConfigFetcher.start(_threadPool);
auto configSnapshot = _protonConfigurer.getPendingConfigSnapshot();
assert(configSnapshot);
auto bootstrapConfig = configSnapshot->getBootstrapConfig();
@@ -282,7 +280,7 @@ Proton::init(const BootstrapConfig::SP & configSnapshot)
setBucketCheckSumType(protonConfig);
setFS4Compression(protonConfig);
- _shared_service = std::make_unique<SharedThreadingService>(SharedThreadingServiceConfig::make(protonConfig, hwInfo.cpu()), *_transport);
+ _shared_service = std::make_unique<SharedThreadingService>(SharedThreadingServiceConfig::make(protonConfig, hwInfo.cpu()), _transport);
_diskMemUsageSampler = std::make_unique<DiskMemUsageSampler>(_shared_service->transport(), protonConfig.basedir,
diskMemUsageSamplerConfig(protonConfig, hwInfo));
@@ -314,10 +312,10 @@ Proton::init(const BootstrapConfig::SP & configSnapshot)
strategy = std::make_shared<SimpleFlush>();
break;
}
- _protonDiskLayout = std::make_unique<ProtonDiskLayout>(*_transport, protonConfig.basedir, protonConfig.tlsspec);
+ _protonDiskLayout = std::make_unique<ProtonDiskLayout>(_transport, protonConfig.basedir, protonConfig.tlsspec);
vespalib::chdir(protonConfig.basedir);
vespalib::alloc::MmapFileAllocatorFactory::instance().setup(protonConfig.basedir + "/swapdirs");
- _tls->start(*_transport, hwInfo.cpu().cores());
+ _tls->start(_transport, hwInfo.cpu().cores());
_flushEngine = std::make_unique<FlushEngine>(std::make_shared<flushengine::TlsStatsFactory>(_tls->getTransLogServer()),
strategy, flush.maxconcurrent, vespalib::from_s(flush.idleinterval));
_metricsEngine->addExternalMetrics(_summaryEngine->getMetrics());
@@ -479,7 +477,6 @@ Proton::~Proton()
_compile_cache_executor_binding.reset();
_shared_service.reset();
_clock.stop();
- _transport->ShutDown(true);
LOG(debug, "Explicit destructor done");
}
@@ -602,7 +599,7 @@ Proton::addDocumentDB(const document::DocumentType &docType,
vespalib::string db_dir = config.basedir + "/documents/" + docTypeName.toString();
vespalib::mkdir(db_dir, false); // Assume parent is created.
- auto config_store = std::make_unique<FileConfigManager>(*_transport, db_dir + "/config",
+ auto config_store = std::make_unique<FileConfigManager>(_transport, db_dir + "/config",
documentDBConfig->getConfigId(), docTypeName.getName());
config_store->setProtonConfig(bootstrapConfig->getProtonConfigSP());
if (!initializeThreads) {
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.h b/searchcore/src/vespa/searchcore/proton/server/proton.h
index 0490b1e00b7..73b8ae83ef2 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.h
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.h
@@ -82,8 +82,8 @@ private:
};
vespalib::CpuUtil _cpu_util;
- std::unique_ptr<FastOS_ThreadPool> _threadPool;
- std::unique_ptr<FNET_Transport> _transport;
+ FastOS_ThreadPool & _threadPool;
+ FNET_Transport & _transport;
const config::ConfigUri _configUri;
mutable std::shared_mutex _mutex;
std::unique_ptr<metrics::UpdateHook> _metricsHook;
@@ -145,9 +145,8 @@ public:
typedef std::unique_ptr<Proton> UP;
typedef std::shared_ptr<Proton> SP;
- Proton(const config::ConfigUri & configUri,
- const vespalib::string &progName,
- vespalib::duration subscribeTimeout);
+ Proton(FastOS_ThreadPool & threadPool, FNET_Transport & transport, const config::ConfigUri & configUri,
+ const vespalib::string &progName, vespalib::duration subscribeTimeout);
~Proton() override;
/**
@@ -183,7 +182,7 @@ public:
const std::shared_ptr<DocumentDBConfig> &documentDBConfig, InitializeThreads initializeThreads);
metrics::MetricManager & getMetricManager();
- FastOS_ThreadPool & getThreadPool() { return *_threadPool; }
+ FastOS_ThreadPool & getThreadPool() { return _threadPool; }
bool triggerFlush();
bool prepareRestart();
diff --git a/slobrok/src/tests/rpc_mapping_monitor/rpc_mapping_monitor_test.cpp b/slobrok/src/tests/rpc_mapping_monitor/rpc_mapping_monitor_test.cpp
index 0f691e1c168..13db95eb35c 100644
--- a/slobrok/src/tests/rpc_mapping_monitor/rpc_mapping_monitor_test.cpp
+++ b/slobrok/src/tests/rpc_mapping_monitor/rpc_mapping_monitor_test.cpp
@@ -28,8 +28,11 @@ struct Server : FRT_Invokable {
last_conn->AddRef();
}
}
- Server(fnet::TimeTools::SP time_tools) : frt(TransportConfig().time_tools(time_tools)), names(),
- inject_fail_cnt(0), last_conn(nullptr)
+ Server(fnet::TimeTools::SP time_tools)
+ : frt(fnet::TransportConfig().time_tools(time_tools)),
+ names(),
+ inject_fail_cnt(0),
+ last_conn(nullptr)
{
FRT_ReflectionBuilder rb(&frt.supervisor());
rb.DefineMethod("slobrok.callback.listNamesServed", "", "S", FRT_METHOD(Server::rpc_listNamesServed), this);
@@ -103,7 +106,7 @@ struct RpcMappingMonitorTest : public ::testing::Test {
ServiceMapping baz_b;
RpcMappingMonitorTest()
: debugger(),
- my_frt(TransportConfig().time_tools(debugger.time_tools())),
+ my_frt(fnet::TransportConfig().time_tools(debugger.time_tools())),
a(debugger.time_tools()),
b(debugger.time_tools()),
hist(),
diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp
index 84bf212abb3..de9e5a0025f 100644
--- a/slobrok/src/vespa/slobrok/server/sbenv.cpp
+++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp
@@ -98,7 +98,7 @@ ConfigTask::PerformTask()
} // namespace slobrok::<unnamed>
SBEnv::SBEnv(const ConfigShim &shim)
- : _transport(std::make_unique<FNET_Transport>(TransportConfig().drop_empty_buffers(true))),
+ : _transport(std::make_unique<FNET_Transport>(fnet::TransportConfig().drop_empty_buffers(true))),
_supervisor(std::make_unique<FRT_Supervisor>(_transport.get())),
_configShim(shim),
_configurator(shim.factory().create(*this)),
diff --git a/storage/src/vespa/storage/storageserver/rpc/shared_rpc_resources.cpp b/storage/src/vespa/storage/storageserver/rpc/shared_rpc_resources.cpp
index ba3196bfcda..e1a2dc6b03c 100644
--- a/storage/src/vespa/storage/storageserver/rpc/shared_rpc_resources.cpp
+++ b/storage/src/vespa/storage/storageserver/rpc/shared_rpc_resources.cpp
@@ -65,7 +65,7 @@ SharedRpcResources::SharedRpcResources(const config::ConfigUri& config_uri,
size_t rpc_thread_pool_size,
size_t rpc_events_before_wakeup)
: _thread_pool(std::make_unique<FastOS_ThreadPool>(1024*60)),
- _transport(std::make_unique<FNET_Transport>(TransportConfig(rpc_thread_pool_size).
+ _transport(std::make_unique<FNET_Transport>(fnet::TransportConfig(rpc_thread_pool_size).
events_before_wakeup(rpc_events_before_wakeup))),
_orb(std::make_unique<FRT_Supervisor>(_transport.get())),
_slobrok_register(std::make_unique<slobrok::api::RegisterAPI>(*_orb, slobrok::ConfiguratorFactory(config_uri))),