summaryrefslogtreecommitdiff
path: root/src/mongo/s/server.cpp
diff options
context:
space:
mode:
authorJonathan Reams <jbreams@mongodb.com>2017-06-05 17:30:47 -0400
committerJonathan Reams <jbreams@mongodb.com>2017-06-17 10:31:07 -0400
commit923ad3ba8160f2cd614e1258ef19294bd502af78 (patch)
treec2b99c80955115349bf59da65c3d82167643a348 /src/mongo/s/server.cpp
parent69fd148aafff5bc9c33596b75560f05a6a260f7a (diff)
downloadmongo-923ad3ba8160f2cd614e1258ef19294bd502af78.tar.gz
SERVER-29403 Implement TransportLayerASIO
Diffstat (limited to 'src/mongo/s/server.cpp')
-rw-r--r--src/mongo/s/server.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/mongo/s/server.cpp b/src/mongo/s/server.cpp
index c44d3da8585..af0147eb685 100644
--- a/src/mongo/s/server.cpp
+++ b/src/mongo/s/server.cpp
@@ -89,7 +89,7 @@
#include "mongo/s/version_mongos.h"
#include "mongo/stdx/memory.h"
#include "mongo/stdx/thread.h"
-#include "mongo/transport/transport_layer_legacy.h"
+#include "mongo/transport/transport_layer_manager.h"
#include "mongo/util/admin_access.h"
#include "mongo/util/cmdline_utils/censor_cmdline.h"
#include "mongo/util/concurrency/idle_thread_block.h"
@@ -261,20 +261,17 @@ static ExitCode runMongosServer() {
_initWireSpec();
- transport::TransportLayerLegacy::Options opts;
- opts.port = serverGlobalParams.port;
- opts.ipList = serverGlobalParams.bind_ip;
-
auto sep = stdx::make_unique<ServiceEntryPointMongos>(getGlobalServiceContext());
- auto sepPtr = sep.get();
-
getGlobalServiceContext()->setServiceEntryPoint(std::move(sep));
- auto transportLayer = stdx::make_unique<transport::TransportLayerLegacy>(opts, sepPtr);
- auto res = transportLayer->setup();
+ auto tl = transport::TransportLayerManager::createWithConfig(&serverGlobalParams,
+ getGlobalServiceContext());
+ auto res = tl->setup();
if (!res.isOK()) {
+ error() << "Failed to set up listener: " << res;
return EXIT_NET_ERROR;
}
+ getGlobalServiceContext()->setTransportLayer(std::move(tl));
auto unshardedHookList = stdx::make_unique<rpc::EgressMetadataHookList>();
unshardedHookList->addHook(
@@ -353,11 +350,12 @@ static ExitCode runMongosServer() {
// Set up the logical session cache
getGlobalServiceContext()->setLogicalSessionCache(makeLogicalSessionCacheS());
- auto start = getGlobalServiceContext()->addAndStartTransportLayer(std::move(transportLayer));
+ auto start = getGlobalServiceContext()->getTransportLayer()->start();
if (!start.isOK()) {
return EXIT_NET_ERROR;
}
+ getGlobalServiceContext()->notifyStartupComplete();
#if !defined(_WIN32)
mongo::signalForkSuccess();
#else