First pass at adding in exception for servers which have gone away.
[m6w6/libmemcached] / libtest / fatal.hpp
index 77050e517b4842a2fe445e129a54a5b6d3463995..85f0ac95a03d046e2b867e500b047db5f9d415dd 100644 (file)
@@ -52,6 +52,29 @@ private:
   char _error_message[BUFSIZ];
 };
 
+class disconnected : std::runtime_error
+{
+public:
+  disconnected(const char *file, int line, const char *func, const char *instance, const in_port_t port, const char *format, ...);
+
+  const char* what() const throw()
+  {
+    return _error_message;
+  }
+
+  // The following are just for unittesting the exception class
+  static bool is_disabled();
+  static void disable();
+  static void enable();
+  static uint32_t disabled_counter();
+  static void increment_disabled_counter();
+
+private:
+  char _error_message[BUFSIZ];
+  in_port_t _port;
+  char _instance[1024];
+};
+
 
 } // namespace libtest