diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-11-24 23:03:52 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-11-24 23:03:52 +0100 |
commit | 8deb1c3ad57bb0a84b5821cbe176438bced74eba (patch) | |
tree | db2e06d0f1f81a0268c194263f1e30280200cdee /server/connection.h | |
parent | 6a618d45345026f9ddf81f241be43c0cfd95e94a (diff) |
Added error handling around connections.
Diffstat (limited to 'server/connection.h')
-rw-r--r-- | server/connection.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/server/connection.h b/server/connection.h index e6680c9..0f16022 100644 --- a/server/connection.h +++ b/server/connection.h @@ -15,6 +15,7 @@ class Connection : public ConnectionBase, public boost::enable_shared_from_this< boost::asio::ip::tcp::socket socket; boost::function<void (Message::p)> recv_callback; + boost::function<void (const std::string&)> error_callback; Connection(boost::asio::io_service& io_service); @@ -33,6 +34,9 @@ class Connection : public ConnectionBase, public boost::enable_shared_from_this< //! Implements got_message(). virtual void got_message(const Message::p& msg); + + //! Implements error(). + virtual void error(const std::string& msg); public: typedef boost::shared_ptr<Connection> p; @@ -41,7 +45,9 @@ class Connection : public ConnectionBase, public boost::enable_shared_from_this< static p create(boost::asio::io_service& io_service); //! Initiates an asynchronous message receive. - void recv(boost::function<void (Message::p)> f); + //! \param callback Callback for received message. + //! \param error Callback for error. + void recv(boost::function<void (Message::p)> callback, boost::function<void (const std::string&)> error = 0); }; #endif |