diff options
author | leak <leak@bitmx.net> | 2014-07-07 21:37:20 +0200 |
---|---|---|
committer | leak <leak@bitmx.net> | 2014-07-07 21:37:55 +0200 |
commit | c7d5660e992bdec5cdac6a9fab76ecb6447dcb49 (patch) | |
tree | 187f34ec0b0a0f765c81d36db8234d58c7f344fd /src | |
parent | 110396447f2f414f8834c1b86c764d97704537b7 (diff) |
Readd support for TCP_NODELAY socket option
Diffstat (limited to 'src')
-rw-r--r-- | src/server/shared/Networking/AsyncAcceptor.h | 6 | ||||
-rw-r--r-- | src/server/worldserver/Main.cpp | 3 |
2 files changed, 8 insertions, 1 deletions
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<WorldTcpSession> worldAcceptor(_ioService, worldListener, worldPort); + AsyncAcceptor<WorldTcpSession> worldAcceptor(_ioService, worldListener, worldPort, tcpNoDelay); sScriptMgr->OnStartup(); |