diff options
| author | Remko Tronçon <git@el-tramo.be> | 2012-02-03 19:37:49 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2012-02-03 19:37:49 (GMT) |
| commit | 42a1bbc568aab7e5b29c7fe16c13659291d01cae (patch) | |
| tree | e554e83883497d7fdd6861c365204fa02380eedc /Swiften/Network/BoostConnection.h | |
| parent | 5b9e776a70fa83aafa83a02ea1dc04c06f02734f (diff) | |
| download | swift-contrib-42a1bbc568aab7e5b29c7fe16c13659291d01cae.zip swift-contrib-42a1bbc568aab7e5b29c7fe16c13659291d01cae.tar.bz2 | |
Correct previous patch.
Diffstat (limited to 'Swiften/Network/BoostConnection.h')
| -rw-r--r-- | Swiften/Network/BoostConnection.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Swiften/Network/BoostConnection.h b/Swiften/Network/BoostConnection.h index 2f0c7be..0e29c54 100644 --- a/Swiften/Network/BoostConnection.h +++ b/Swiften/Network/BoostConnection.h @@ -22,47 +22,48 @@ namespace boost { } } namespace Swift { class EventLoop; class BoostConnection : public Connection, public EventOwner, public boost::enable_shared_from_this<BoostConnection> { public: typedef boost::shared_ptr<BoostConnection> ref; ~BoostConnection(); static ref create(boost::shared_ptr<boost::asio::io_service> ioService, EventLoop* eventLoop) { return ref(new BoostConnection(ioService, eventLoop)); } virtual void listen(); virtual void connect(const HostAddressPort& address); virtual void disconnect(); virtual void write(const SafeByteArray& data); boost::asio::ip::tcp::socket& getSocket() { return socket_; } HostAddressPort getLocalAddress() const; private: BoostConnection(boost::shared_ptr<boost::asio::io_service> ioService, EventLoop* eventLoop); void handleConnectFinished(const boost::system::error_code& error); void handleSocketRead(const boost::system::error_code& error, size_t bytesTransferred); void handleDataWritten(const boost::system::error_code& error); void doRead(); void doWrite(const SafeByteArray& data); + void closeSocket(); private: EventLoop* eventLoop; boost::shared_ptr<boost::asio::io_service> ioService; boost::asio::ip::tcp::socket socket_; boost::shared_ptr<SafeByteArray> readBuffer_; boost::mutex writeMutex_; bool writing_; SafeByteArray writeQueue_; bool closeSocketAfterNextWrite_; }; } |
Swift