anchor.diff:        await socket?.close();
         rethrow;
       } catch (e) {
  +      _log.fine('Dart VM connection failed $e: ${e.message}');
         // Other unknown errors will be handled with reconnects.
         await peer?.close();
         await socket?.close();
  
positive.code:     WebSocket socket;
      json_rpc.Peer peer;
      try {
        socket = await WebSocket.connect(uri.toString());
        peer = new json_rpc.Peer(new IOWebSocketChannel(socket).cast())..listen();
        return peer;
      } on HttpException catch (e) {
  
negative.code:     Map<String, dynamic> params,
      Duration timeout = _kRpcTimeout,
    }) async {
      final Map<String, dynamic> result = await _peer
          .sendRequest(function, params ?? <String, dynamic>{})
          .timeout(timeout, onTimeout: () {
        throw new TimeoutException(
          'Peer connection timed out during RPC call',
          timeout,
        );
      });
      return result;
    }
  
    /// Returns a list of [FlutterView] objects running across all Dart VM's.
  