diff options
Diffstat (limited to 'src/Net/Connection.cpp')
-rw-r--r-- | src/Net/Connection.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Net/Connection.cpp b/src/Net/Connection.cpp index b7580d5..d9ff994 100644 --- a/src/Net/Connection.cpp +++ b/src/Net/Connection.cpp @@ -18,7 +18,6 @@ */ #include "Connection.h" -#include "ThreadManager.h" #include <Common/Logger.h> @@ -55,7 +54,7 @@ void Connection::handleHandshake(const boost::system::error_code& error) { received = 0; } - ThreadManager::get()->pushWork(boost::bind(&Signals::Signal0::emit, &connectedSignal)); + connectedSignal.emit(); enterReceiveLoop(); } @@ -69,7 +68,7 @@ void Connection::handleShutdown(const boost::system::error_code& error) { _setState(DISCONNECTED); - ThreadManager::get()->pushWork(boost::bind(&Signals::Signal0::emit, &disconnectedSignal)); + disconnectedSignal.emit(); } void Connection::enterReceiveLoop() { @@ -91,7 +90,7 @@ void Connection::handleHeaderReceive(const std::vector<boost::uint8_t> &data) { } if(header.length == 0) { - ThreadManager::get()->pushWork(boost::bind(&Signals::Signal1<const Packet&>::emit, &receiveSignal, Packet(ntohs(header.requestId)))); + receiveSignal.emit(boost::shared_ptr<Packet>(new Packet(ntohs(header.requestId)))); enterReceiveLoop(); } @@ -104,8 +103,8 @@ void Connection::handleDataReceive(const std::vector<boost::uint8_t> &data) { { boost::upgrade_lock<boost::shared_mutex> lock(connectionLock); - Packet packet(ntohs(header.requestId), data.data(), ntohs(header.length)); - ThreadManager::get()->pushWork(boost::bind(&Signals::Signal1<const Packet&>::emit, &receiveSignal, packet)); + Packet packet(); + receiveSignal.emit(boost::shared_ptr<Packet>(new Packet(ntohs(header.requestId), data.data(), ntohs(header.length)))); } enterReceiveLoop(); |