anchor.diff:  /// implementation.
   void restoreFuchsiaPortForwardingFunction() {
     fuchsiaPortForwardingFunction = _SshPortForwarder.start;
  +}
  +
  +/// A general error raised when something fails within a
  +/// [FuchsiaRemoteConnection].
  +class FuchsiaRemoteConnectionError extends Error {
  +  /// Basic constructor outlining the reason for the failure in `message`.
  +  FuchsiaRemoteConnectionError(this.message);
  +
  +  /// The reason for the failure.
  +  final String message;
  +
  +  @override
  +  String toString() {
  +    return '$FuchsiaRemoteConnectionError: $message';
  +  }
   }
   
   /// An enum specifying a Dart VM's state.
  
positive.code: import 'dart/dart_vm.dart';
  import 'runners/ssh_command_runner.dart';
  
  final String _ipv4Loopback = InternetAddress.LOOPBACK_IP_V4.address; // ignore: deprecated_member_use
  
  final String _ipv6Loopback = InternetAddress.LOOPBACK_IP_V6.address; // ignore: deprecated_member_use
  
  const ProcessManager _processManager = const LocalProcessManager();
  
  
negative.code:   /// then `interface` will probably need to be set in order to connect
    /// successfully (that being the outgoing interface of your machine, not the
    /// interface on the target machine).
    ///
    /// Attempts to set `address` via the environment variable
    /// `FUCHSIA_DEVICE_URL` in the event that the argument is not passed.
    /// If `address` is not supplied, `interface` is also ignored, as the format
    /// is expected to contain the interface as well (in the event that it is
    /// link-local), like the following:
    ///
    /// ```
    /// fe80::1%eth0
    /// ```
    ///
    /// In the event that `FUCHSIA_SSH_CONFIG` is set in the environment, that
    /// will be used when `sshConfigPath` isn't supplied.
    static Future<FuchsiaRemoteConnection> connect([
      String address,
      String interface = '',
      String sshConfigPath,
    ]) async {
      address ??= Platform.environment['FUCHSIA_DEVICE_URL'];
      sshConfigPath ??= Platform.environment['FUCHSIA_SSH_CONFIG'];
      if (address == null) {
        throw new FuchsiaRemoteConnectionError(
            'No address supplied, and \$FUCHSIA_DEVICE_URL not found.');
      }
      const String interfaceDelimiter = '%';
      if (address.contains(interfaceDelimiter)) {
        final List<String> addressAndInterface =
            address.split(interfaceDelimiter);
        address = addressAndInterface[0];
        interface = addressAndInterface[1];
      }
  
      return await FuchsiaRemoteConnection.connectWithSshCommandRunner(
        new SshCommandRunner(
          address: address,
  