init method

Future<void> init()

Implementation

Future<void> init() async {
  _queue = {};
  _completers = {};
  final receivePort = ReceivePort();
  _engine = await Isolate.spawn(_isolate, receivePort.sendPort);
  final completer = Completer<void>();

  _portSubscription = receivePort.listen((item) {
    if (item is SendPort) {
      _sendPort = item;
      completer.complete();
    } else if (item is Response) {
      item._request = _queue[item._requestID!];
      _completers[item._requestID!]!.complete(item);
      _queue.remove(item._requestID);
      _completers.remove(item._requestID);
    } else if (item is LogInfo) {
      _logs.add(item);
    }
  });
  return completer.future;
}