summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/Exception.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-11-03 17:21:38 +0000
committerGordon Sim <gsim@apache.org>2008-11-03 17:21:38 +0000
commita95eb74d7f806e3a60bbd61a042329bcfba9b21d (patch)
tree1f300ecd3d7dd2a39fdcd3882fb788b5dce28bf2 /cpp/src/qpid/Exception.h
parentc7ed94d2a123f3753a6d64eff5a83b742ce30163 (diff)
downloadqpid-python-a95eb74d7f806e3a60bbd61a042329bcfba9b21d.tar.gz
Various fixes arising from testing client failover:
* introduced new exception type for signalling connection failure (as distinct from any logical connection errors) * ConnectionImpl::closeInternal(): take copy of session map to prevent concurrent modification (by the same thread) as sessions are deleted and erase themselves. * ConnectionImpl::shutdown: hold lock before calling closeInternal(); mark handler failed before informing sessions of failure * SessionImpl::connectionBroker(): remove code as its rather meaningless * Don't swallow exceptions in Dispatcher * Handle exceptions in FailoverListener * Take weak_ptr to ConnectionImpl on constructor of Connector, then convert to shared_ptr when 'receiver' thread is started. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@710106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/Exception.h')
-rw-r--r--cpp/src/qpid/Exception.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/qpid/Exception.h b/cpp/src/qpid/Exception.h
index 9cf564104d..57e7c682eb 100644
--- a/cpp/src/qpid/Exception.h
+++ b/cpp/src/qpid/Exception.h
@@ -80,6 +80,13 @@ struct ClosedException : public Exception {
std::string getPrefix() const;
};
+/**
+ * Exception representing transport failure
+ */
+struct TransportFailure : public Exception {
+ TransportFailure(const std::string& msg=std::string()) : Exception(msg) {}
+};
+
} // namespace qpid
#endif /*!_Exception_*/