anchor.diff:      if (portForwarder != null) {
         final int devicePort = deviceUri.port;
         int hostPort = this.hostPort ?? await portScanner.findPreferredPort(defaultHostPort);
  -      hostPort = await portForwarder
  -          .forward(devicePort, hostPort: hostPort)
  -          .timeout(const Duration(seconds: 60), onTimeout: () {
  -        throwToolExit('Timeout while atempting to foward device port $devicePort for $serviceName');
  -      });
  +      hostPort = await portForwarder.forward(devicePort, hostPort: hostPort);
         printTrace('Forwarded host port $hostPort to device port $devicePort for $serviceName');
         hostUri = deviceUri.replace(port: hostPort);
       }
  
positive.code:     assert(logReader != null);
      assert(portForwarder == null || defaultHostPort != null);
      _deviceLogSubscription = logReader.logLines.listen(_handleLine);
      _timer = new Timer(const Duration(seconds: 60), () {
        _stopScrapingLogs();
        _completer.completeError(new ToolExit('Timeout while attempting to retrieve URL for $serviceName'));
      });
    }
  
    factory ProtocolDiscovery.observatory(
  
negative.code:   final Completer<Uri> _completer = new Completer<Uri>();
  
    StreamSubscription<String> _deviceLogSubscription;
  
    /// The discovered service URI.
    Future<Uri> get uri => _completer.future;
  