anchor.diff:        socket.add([0, 0, 0, 8, 4, 210, 22, 47]);
   
       })
  -    .timeout(timeout, onTimeout: onTimeout)
       .catchError((e) {
         completer.completeError(e);
       });
  
positive.code: 
    final StreamController _messages = new StreamController.broadcast();
  
    static Future<ConnectionImpl> connect(String uri, Duration timeout, TypeConverter typeConverter) {
      return new Future.sync(() {
        var settings = new Settings.fromUri(uri);
  
        //FIXME Currently this timeout doesn't cancel the socket connection 
  
negative.code:           () => throw new TimeoutException(
                'Postgresql connection timed out. $timeout', timeout);
        
        var connectFunc = mockSocketConnect == null
            ? Socket.connect
            : mockSocketConnect;
        
        Future<Socket> future = connectFunc(settings.host, settings.port)
          .timeout(timeout, onTimeout: onTimeout);
        
        if (settings.requireSsl) future = _connectSsl(future);
  
        return future.timeout(timeout, onTimeout: onTimeout).then((socket) {
          var conn = new ConnectionImpl(socket, settings, typeConverter);
          socket.listen(conn._readData, 
              onError: conn._handleSocketError,
  