From 82949d1a4372c3b9e200c382dc709a09efaa7519 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 5 Jun 2009 19:12:46 +0200 Subject: handlePacket asyncron aufrufen --- src/Common/RequestHandler.h | 5 ----- src/Common/RequestManager.cpp | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/Common/RequestHandler.h b/src/Common/RequestHandler.h index 917649e..f01db41 100644 --- a/src/Common/RequestHandler.h +++ b/src/Common/RequestHandler.h @@ -43,11 +43,6 @@ class RequestHandler : private boost::noncopyable { Net::Signals::Signal0 finished; - void callHandlePacket(boost::shared_ptr packet) { - boost::lock_guard lock(mutex); - handlePacket(packet); - } - protected: RequestHandler() {} diff --git a/src/Common/RequestManager.cpp b/src/Common/RequestManager.cpp index 368cfb5..3785b3f 100644 --- a/src/Common/RequestManager.cpp +++ b/src/Common/RequestManager.cpp @@ -96,7 +96,7 @@ void RequestManager::receiveHandler(Connection *connection, boost::shared_ptr request = requestMap.findRequest(connection, requestId); if(request) { lock.unlock(); - request->callHandlePacket(packet); + Net::ThreadManager::get()->pushWork(boost::bind(&RequestHandler::handlePacket, request, packet)); return; } @@ -120,7 +120,7 @@ void RequestManager::receiveHandler(Connection *connection, boost::shared_ptrcallHandlePacket(packet); + Net::ThreadManager::get()->pushWork(boost::bind(&RequestHandler::handlePacket, request, packet)); return; } -- cgit v1.2.3