From 618314985d6a632ccfd2001d969d32a5ee6e4ca1 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 11 Mar 2012 20:45:43 +0200 Subject: Proper handling of failing to bind server socket --- src/connection.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/connection.h') diff --git a/src/connection.h b/src/connection.h index 6d26e2e35..b793f580f 100644 --- a/src/connection.h +++ b/src/connection.h @@ -59,6 +59,14 @@ public: {} }; +class ConnectionBindFailed : public BaseException +{ +public: + ConnectionBindFailed(const char *s): + BaseException(s) + {} +}; + /*class ThrottlingException : public BaseException { public: @@ -424,6 +432,7 @@ enum ConnectionEventType{ CONNEVENT_DATA_RECEIVED, CONNEVENT_PEER_ADDED, CONNEVENT_PEER_REMOVED, + CONNEVENT_BIND_FAILED, }; struct ConnectionEvent @@ -447,6 +456,8 @@ struct ConnectionEvent return "CONNEVENT_PEER_ADDED"; case CONNEVENT_PEER_REMOVED: return "CONNEVENT_PEER_REMOVED"; + case CONNEVENT_BIND_FAILED: + return "CONNEVENT_BIND_FAILED"; } return "Invalid ConnectionEvent"; } @@ -470,6 +481,10 @@ struct ConnectionEvent timeout = timeout_; address = address_; } + void bindFailed() + { + type = CONNEVENT_BIND_FAILED; + } }; enum ConnectionCommandType{ -- cgit v1.2.3