summaryrefslogtreecommitdiffstats
path: root/src/Net/Connection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Net/Connection.cpp')
-rw-r--r--src/Net/Connection.cpp11
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();