anchor.diff:      msg.addByte(0);
       msg.setLength(startup: true);
       
  -    _socket.writeList(msg.buffer, 0, msg.buffer.length);
  +    _socket.add(msg.buffer);
       
       _state = _AUTHENTICATING;
     }
  
positive.code:     msg.addInt32(0);
      msg.setLength();
      
      _socket.writeList(msg.buffer, 0, msg.buffer.length);
      _socket.close();
    }
  }
  
negative.code:   int _msgLength;
  
    static Future<_Connection> _connect(_Settings settings) {
  
      return Socket.connect(settings._host, settings._port).then((socket) {
        var conn = new _Connection(socket, settings);
        socket.listen(conn._readData, onError: conn._handleSocketError, onDone: conn._handleSocketClosed);
        conn._state = _SOCKET_CONNECTED;
        conn._sendStartupMessage();
        return conn._connected.future;
      });
    }
    
    
  