From ada5c031d667aa2334b529ab208d6d4adbdc2f68 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Mon, 9 Jan 2012 16:45:13 -0200 Subject: [PATCH] fix critial network delay issue --- src/framework/net/connection.cpp | 6 +++--- src/framework/net/connection.h | 2 +- src/otclient/net/protocolgameparse.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/framework/net/connection.cpp b/src/framework/net/connection.cpp index cffce658..30176938 100644 --- a/src/framework/net/connection.cpp +++ b/src/framework/net/connection.cpp @@ -155,7 +155,7 @@ void Connection::onConnect(const boost::system::error_code& error) m_socket.set_option(option); if(m_connectCallback) - g_dispatcher.addEvent(m_connectCallback); + m_connectCallback(); } else handleError(error); @@ -182,7 +182,7 @@ void Connection::onRecv(const boost::system::error_code& error, size_t recvSize) if(!error) { if(m_recvCallback) - g_dispatcher.addEvent(std::bind(m_recvCallback, m_recvBuffer, recvSize)); + m_recvCallback(m_recvBuffer, recvSize); } else handleError(error); } @@ -197,7 +197,7 @@ void Connection::handleError(const boost::system::error_code& error) { if(error != asio::error::operation_aborted) { if(m_errorCallback) - g_dispatcher.addEvent(std::bind(m_errorCallback, error)); + m_errorCallback(error); if(m_connected || m_connecting) close(); } diff --git a/src/framework/net/connection.h b/src/framework/net/connection.h index 5c47714c..7fda70d7 100644 --- a/src/framework/net/connection.h +++ b/src/framework/net/connection.h @@ -28,7 +28,7 @@ class Connection : public std::enable_shared_from_this, boost::noncopyable { - typedef std::function ErrorCallback; + typedef std::function ErrorCallback; typedef std::function RecvCallback; enum { diff --git a/src/otclient/net/protocolgameparse.cpp b/src/otclient/net/protocolgameparse.cpp index 740cb11d..13ebb0d0 100644 --- a/src/otclient/net/protocolgameparse.cpp +++ b/src/otclient/net/protocolgameparse.cpp @@ -983,7 +983,7 @@ void ProtocolGame::setTileDescription(InputMessage& msg, Position position) return; else { if(stackPos >= 10) - logTraceWarning("too many things"); + logTraceError("too many things, stackpos=", stackPos, " pos=", position); ThingPtr thing = internalGetThing(msg); g_map.addThing(thing, position, 255);