import Constants from '../utils/Constants';
import Utils from '../utils/Utils';
import { Worker } from 'worker_threads';
-import Wrk from './Wrk';
+import WorkerAbstract from './WorkerAbstract';
-export default class WorkerSet<T> extends Wrk {
+export default class WorkerSet<T> extends WorkerAbstract {
public maxElementsPerWorker: number;
private workerSet: Set<WorkerSetElement>;
/**
*
- * @return {Promise<void>}
+ * @param elementData
+ * @returns {Promise<void>}
* @public
*/
public async addElement(elementData: T): Promise<void> {
/**
*
- * @return {Promise<void>}
+ * @returns {Promise<void>}
* @public
*/
public async start(): Promise<void> {
/**
*
- * @return {Promise<void>}
+ * @returns {Promise<void>}
* @public
*/
public async stop(): Promise<void> {
/**
*
- * @return {Promise}
* @private
*/
private startWorker(): void {
if (code !== 0) {
console.error(`Worker stopped with exit code ${code}`);
}
- // FIXME: remove matching worker set element
+ this.workerSet.delete(this.getWorkerSetElementByWorker(worker));
});
this.workerSet.add({ worker, numberOfWorkerElements: 0 });
}