public void write( message msg )
 {
     bool write_in_progress = ( _msg_queue.Count != 0 );
     _msg_queue.Enqueue( msg );
     if( !write_in_progress )
     {
         write();
     }
 }
 public void parse_message( message msg )
 {
     if( msg.ToString() == "valid_login" )
     {
         _id = msg._id;
         Console.WriteLine( "valid_login, your ID is" + _id );
     }
     else
         Console.WriteLine( msg.ToString() );
 }
        public void read_response()
        {
            message msg = new message();

            _sender.Receive( msg._data, 0, message.header_length, SocketFlags.None );
            if( msg.decode_header() )
            {
                _sender.Receive( msg._data, message.header_length, message.id_length, SocketFlags.None );
                if( msg.decode_id() )
                {
                    Console.WriteLine( "received messaged of length: " + msg._body_length );
                    _sender.Receive( msg._data, message.header_length + message.id_length, msg._body_length, SocketFlags.None );
                    parse_message( msg );
                }
            }
        }