getInfo method Null safety

Future<ServiceProtocolInfo> getInfo ()

Get information about the service protocol (version number and Uri to access the service).

Implementation

static Future<ServiceProtocolInfo> getInfo() async {
  // Port to receive response from service isolate.
  final RawReceivePort receivePort =
      new RawReceivePort(null, 'Service.getInfo');
  final Completer<Uri?> uriCompleter = new Completer<Uri?>();
  receivePort.handler = (Uri? uri) => uriCompleter.complete(uri);
  // Request the information from the service isolate.
  _getServerInfo(receivePort.sendPort);
  // Await the response from the service isolate.
  Uri? uri = await uriCompleter.future;
  // Close the port.
  receivePort.close();
  return new ServiceProtocolInfo(uri);
}