]> git.tdb.fi Git - libs/net.git/blobdiff - source/communicator.h
Exception changes
[libs/net.git] / source / communicator.h
index 4bd5409c72587dfc9dbe9b98e43e04b0bbdf5d27..0aa152cd6c803e37410bc641abeb17f0d5748a3f 100644 (file)
@@ -7,6 +7,14 @@
 namespace Msp {
 namespace Net {
 
+class sequence_error: public std::logic_error
+{
+public:
+       sequence_error(const std::string &w): std::logic_error(w) { }
+       virtual ~sequence_error() throw() { }
+};
+
+
 class Communicator
 {
 public:
@@ -34,7 +42,7 @@ public:
        void send(const P &pkt)
        {
                if(handshake_status!=2)
-                       throw InvalidState("Handshaking is not done");
+                       throw sequence_error("handshaking not done");
                unsigned size = protocol.assemble(pkt, out_buf, buf_size);
                socket.write(out_buf, size);
        }