From c7d5660e992bdec5cdac6a9fab76ecb6447dcb49 Mon Sep 17 00:00:00 2001 From: leak Date: Mon, 7 Jul 2014 21:37:20 +0200 Subject: Readd support for TCP_NODELAY socket option --- src/server/shared/Networking/AsyncAcceptor.h | 6 ++++++ src/server/worldserver/Main.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/shared/Networking/AsyncAcceptor.h b/src/server/shared/Networking/AsyncAcceptor.h index c54471fd01a..fbb0313381e 100644 --- a/src/server/shared/Networking/AsyncAcceptor.h +++ b/src/server/shared/Networking/AsyncAcceptor.h @@ -33,6 +33,12 @@ public: AsyncAccept(); }; + AsyncAcceptor(boost::asio::io_service& ioService, std::string bindIp, int port, bool tcpNoDelay) : + AsyncAcceptor(ioService, bindIp, port) + { + _socket.set_option(boost::asio::ip::tcp::no_delay(tcpNoDelay)); + }; + private: void AsyncAcceptor::AsyncAccept() { diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index ff53c91e7b6..dae947b7324 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -228,8 +228,9 @@ extern int main(int argc, char** argv) // Launch the worldserver listener socket uint16 worldPort = uint16(sWorld->getIntConfig(CONFIG_PORT_WORLD)); std::string worldListener = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0"); + bool tcpNoDelay = sConfigMgr->GetBoolDefault("Network.TcpNodelay", true); - AsyncAcceptor worldAcceptor(_ioService, worldListener, worldPort); + AsyncAcceptor worldAcceptor(_ioService, worldListener, worldPort, tcpNoDelay); sScriptMgr->OnStartup(); -- cgit v1.2.3