diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2017-06-05 17:30:47 -0400 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2017-06-17 10:31:07 -0400 |
commit | 923ad3ba8160f2cd614e1258ef19294bd502af78 (patch) | |
tree | c2b99c80955115349bf59da65c3d82167643a348 /src/mongo/s/server.cpp | |
parent | 69fd148aafff5bc9c33596b75560f05a6a260f7a (diff) | |
download | mongo-923ad3ba8160f2cd614e1258ef19294bd502af78.tar.gz |
SERVER-29403 Implement TransportLayerASIO
Diffstat (limited to 'src/mongo/s/server.cpp')
-rw-r--r-- | src/mongo/s/server.cpp | 18 |
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 |