spawnIsolateWorker function

Future<IsolateQueueWorker> spawnIsolateWorker()

Spawn an isolate worker

Implementation

Future<IsolateQueueWorker> spawnIsolateWorker() async {
  final commandPort = ReceivePort();
  await Isolate.spawn(_isolateWorker, commandPort.sendPort);

  // Wait for isolate to send its SendPort
  final isolateSendPort = await commandPort.first as SendPort;
  commandPort.close();

  return IsolateQueueWorker(isolateSendPort);
}