startLocalWorker method
Start a new local worker.
Implementation
Future<WorkerHandle> startLocalWorker() async {
ReceivePort port = ReceivePort();
StreamQueue rx = StreamQueue(port);
Isolate workerIsolate = await Isolate.spawn(
LocalWorker.start, HandshakeMessage(port.sendPort),
debugName: "${workers.length}".padLeft(3, '0'));
HandshakeMessage handshake = await rx.next as HandshakeMessage;
WorkerHandle handle = WorkerHandle(rx, handshake.tx);
workers.add(handle);
localIsolates.add(workerIsolate);
_log.finer("Worker ${workers.length} handshake.");
return handle;
}