dispose method Null safety

Future<void> dispose()

Implementation

Future<void> dispose() async {
  await _streamSub.cancel();
  _outstandingRequests.forEach((id, request) {
    request._completer.completeError(RPCError(
      request.method,
      RPCError.kServerError,
      'Service connection disposed',
    ));
  });
  _outstandingRequests.clear();
  if (_disposeHandler != null) {
    await _disposeHandler!();
  }
  if (!_onDoneCompleter.isCompleted) {
    _onDoneCompleter.complete();
  }
}