summaryrefslogtreecommitdiff
path: root/server/connection.h
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-11-24 23:03:52 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-11-24 23:03:52 +0100
commit8deb1c3ad57bb0a84b5821cbe176438bced74eba (patch)
treedb2e06d0f1f81a0268c194263f1e30280200cdee /server/connection.h
parent6a618d45345026f9ddf81f241be43c0cfd95e94a (diff)
Added error handling around connections.
Diffstat (limited to 'server/connection.h')
-rw-r--r--server/connection.h8
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