]> git.tdb.fi Git - libs/net.git/blobdiff - source/communicator.h
Don't close socket on Communicator error
[libs/net.git] / source / communicator.h
index 0aa152cd6c803e37410bc641abeb17f0d5748a3f..8530db128d26c5d168d99fb0af34e7c874484ffc 100644 (file)
@@ -30,6 +30,7 @@ private:
        char *in_begin;
        char *in_end;
        char *out_buf;
+       bool good;
 
 public:
        Communicator(StreamSocket &, const Protocol &, ReceiverBase &);
@@ -41,6 +42,8 @@ public:
        template<typename P>
        void send(const P &pkt)
        {
+               if(!good)
+                       throw sequence_error("connection aborted");
                if(handshake_status!=2)
                        throw sequence_error("handshaking not done");
                unsigned size = protocol.assemble(pkt, out_buf, buf_size);