scheduleJob<T> method
Schedules a job on one of pool's isolates, executes and returns the result. Re-throws expcetion should the action fail in the executing isolate
Implementation
Future<T> scheduleJob<T>(PooledJob job) {
if (state == IsolatePoolState.stoped) {
throw IsolatePoolStopped('Isolate pool has been stoped, cant schedule a job');
}
_jobs[lastJobStartedIndex] =
_PooledJobInternal(job, lastJobStartedIndex, -1);
var completer = Completer<T>();
jobCompleters[lastJobStartedIndex] = completer;
lastJobStartedIndex++;
_runJobWithVacantIsolate();
return completer.future;
}