aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp9
-rw-r--r--src/server/game/Server/WorldSession.h2
-rw-r--r--src/server/game/Server/WorldSocket.cpp5
-rw-r--r--src/server/shared/Networking/Socket.h9
4 files changed, 12 insertions, 13 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index c79d07a1318..559dd3f65fd 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -805,13 +805,6 @@ void WorldSession::HandleRequestAccountData(WorldPackets::ClientConfig::RequestA
SendPacket(data.Write());
}
-int32 WorldSession::HandleEnableNagleAlgorithm()
-{
- // Instructs the server we wish to receive few amounts of large packets (SMSG_MULTIPLE_PACKETS?)
- // instead of large amount of small packets
- return 0;
-}
-
void WorldSession::HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionButton& packet)
{
uint32 action = ACTION_BUTTON_ACTION(packet.Action);
@@ -1132,7 +1125,7 @@ void WorldSession::HandleFarSightOpcode(WorldPacket& recvData)
void WorldSession::HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet)
{
TC_LOG_DEBUG("network", "CMSG_SET_TITLE");
-
+
// -1 at none
if (packet.TitleID > 0 && packet.TitleID < MAX_TITLE_INDEX)
{
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index b7670a1452f..da1035ebaec 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -1355,8 +1355,6 @@ class WorldSession
void SendSpellCategoryCooldowns();
- int32 HandleEnableNagleAlgorithm();
-
// Compact Unit Frames (4.x)
void HandleSaveCUFProfiles(WorldPacket& recvPacket);
void SendLoadCUFProfiles();
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 01035154214..e58037b3956 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -261,10 +261,9 @@ bool WorldSocket::ReadDataHandler()
return true;
case CMSG_ENABLE_NAGLE:
{
- TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
+ TC_LOG_DEBUG("network", "Client %s requested enabling nagle algorithm", GetRemoteIpAddress().to_string().c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
- if (_worldSession)
- _worldSession->HandleEnableNagleAlgorithm();
+ SetNoDelay(false);
break;
}
case CMSG_CONNECT_TO_FAILED:
diff --git a/src/server/shared/Networking/Socket.h b/src/server/shared/Networking/Socket.h
index f7a1b954cb0..6482c0ed08a 100644
--- a/src/server/shared/Networking/Socket.h
+++ b/src/server/shared/Networking/Socket.h
@@ -169,6 +169,15 @@ protected:
return false;
}
+ void SetNoDelay(bool enable)
+ {
+ boost::system::error_code err;
+ _socket.set_option(boost::asio::ip::tcp::no_delay(enable), err);
+ if (err)
+ TC_LOG_DEBUG("network", "Socket::SetNoDelay: failed to set_option(boost::asio::ip::tcp::no_delay) for %s - %d (%s)",
+ GetRemoteIpAddress().to_string().c_str(), err.value(), err.message().c_str());
+ }
+
std::mutex _writeLock;
std::queue<MessageBuffer> _writeQueue;
#ifndef TC_SOCKET_USE_IOCP