X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ffatal.hpp;h=85f0ac95a03d046e2b867e500b047db5f9d415dd;hb=ffade15f8c3b3fb29d6daf901f931d586da2b3e1;hp=77050e517b4842a2fe445e129a54a5b6d3463995;hpb=7933fa8f9217d7e744876773a4033b3cda4c3c16;p=m6w6%2Flibmemcached diff --git a/libtest/fatal.hpp b/libtest/fatal.hpp index 77050e51..85f0ac95 100644 --- a/libtest/fatal.hpp +++ b/libtest/fatal.hpp @@ -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