aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/shared/Networking/AsyncAcceptor.h6
-rw-r--r--src/server/worldserver/Main.cpp3
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();