- case WorkerProcessType.WORKER_SET:
- workerOptions.elementsPerWorker =
- workerOptions?.elementsPerWorker ?? WorkerConstants.DEFAULT_ELEMENTS_PER_WORKER;
- workerImplementation = new WorkerSet(workerScript, workerOptions);
- break;
- case WorkerProcessType.STATIC_POOL:
- workerOptions.poolMaxSize =
- workerOptions?.poolMaxSize ?? WorkerConstants.DEFAULT_POOL_MAX_SIZE;
- workerImplementation = new WorkerStaticPool(workerScript, workerOptions);
- break;
- case WorkerProcessType.DYNAMIC_POOL:
- workerOptions.poolMinSize =
- workerOptions?.poolMinSize ?? WorkerConstants.DEFAULT_POOL_MIN_SIZE;
- workerOptions.poolMaxSize =
- workerOptions?.poolMaxSize ?? WorkerConstants.DEFAULT_POOL_MAX_SIZE;
- workerImplementation = new WorkerDynamicPool(workerScript, workerOptions);
- break;
+ case WorkerProcessType.workerSet:
+ return new WorkerSet<D, R>(workerScript, workerOptions)
+ case WorkerProcessType.fixedPool:
+ return new WorkerFixedPool<D, R>(workerScript, workerOptions)
+ case WorkerProcessType.dynamicPool:
+ return new WorkerDynamicPool<D, R>(workerScript, workerOptions)