diff options
Diffstat (limited to 'src/Net/Connection.h')
-rw-r--r-- | src/Net/Connection.h | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/Net/Connection.h b/src/Net/Connection.h index e1ca63b..6323164 100644 --- a/src/Net/Connection.h +++ b/src/Net/Connection.h @@ -23,7 +23,8 @@ #include <config.h> #include "Packet.h" -#include "Signals/Signals.h" +#include <Core/Signals.h> +#include <Core/ThreadManager.h> #include <boost/asio.hpp> #include <boost/asio/ssl.hpp> @@ -70,9 +71,9 @@ class Connection : boost::noncopyable { Packet::Data header; - Signals::Signal1<boost::shared_ptr<Packet> > receiveSignal; - Signals::Signal0 connectedSignal; - Signals::Signal0 disconnectedSignal; + Core::Signals::Signal1<boost::shared_ptr<Packet> > receiveSignal; + Core::Signals::Signal0 connectedSignal; + Core::Signals::Signal0 disconnectedSignal; bool receiving; unsigned long sending; @@ -91,8 +92,6 @@ class Connection : boost::noncopyable { void rawSend(const uint8_t *data, std::size_t length); protected: - static boost::asio::io_service ioService; - boost::shared_mutex connectionLock; boost::asio::ssl::stream<boost::asio::ip::tcp::socket> socket; @@ -117,7 +116,7 @@ class Connection : boost::noncopyable { void doDisconnect(); Connection(boost::asio::ssl::context &sslContext) : - state(DISCONNECTED), receiveBuffer(1024*1024), socket(ioService, sslContext) {} + state(DISCONNECTED), receiveBuffer(1024*1024), socket(Core::ThreadManager::get()->getIOService(), sslContext) {} public: virtual ~Connection(); @@ -171,24 +170,24 @@ class Connection : boost::noncopyable { bool send(const Packet &packet); - Signals::Connection connectSignalReceive(const Signals::Signal1<boost::shared_ptr<Packet> >::slot_type &slot) { + Core::Signals::Connection connectSignalReceive(const Core::Signals::Signal1<boost::shared_ptr<Packet> >::slot_type &slot) { return receiveSignal.connect(slot); } - void disconnectSignalReceive(const Signals::Connection &connection) { + void disconnectSignalReceive(const Core::Signals::Connection &connection) { receiveSignal.disconnect(connection); } - Signals::Connection connectSignalConnected(const Signals::Signal0::slot_type &slot) { + Core::Signals::Connection connectSignalConnected(const Core::Signals::Signal0::slot_type &slot) { return connectedSignal.connect(slot); } - void disconnectSignalConnected(const Signals::Connection &connection) { + void disconnectSignalConnected(const Core::Signals::Connection &connection) { connectedSignal.disconnect(connection); } - Signals::Connection connectSignalDisconnected(const Signals::Signal0::slot_type &slot) { + Core::Signals::Connection connectSignalDisconnected(const Core::Signals::Signal0::slot_type &slot) { return disconnectedSignal.connect(slot); } - void disconnectSignalDisconnected(const Signals::Connection &connection) { + void disconnectSignalDisconnected(const Core::Signals::Connection &connection) { disconnectedSignal.disconnect(connection); } }; |