X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fround-robin-worker-choice-strategy.ts;h=0a9fbb7b0a386e1f2ec2f7a78c8f0bf61a9d8572;hb=78cea37e264d5ca527bc42eb056f3b9579a2b2c4;hp=ea1ad5673ba7dc7bd4a7b2f75f0af9dd1ff7a165;hpb=bdaf31cd0e637aa466c78d54a49f157899a2cb3f;p=poolifier.git diff --git a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts index ea1ad567..0a9fbb7b 100644 --- a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts @@ -1,4 +1,4 @@ -import type { AbstractPoolWorker } from '../abstract-pool-worker' +import type { IPoolWorker } from '../pool-worker' import { AbstractWorkerChoiceStrategy } from './abstract-worker-choice-strategy' /** @@ -9,7 +9,7 @@ import { AbstractWorkerChoiceStrategy } from './abstract-worker-choice-strategy' * @template Response Type of response of execution. This can only be serializable data. */ export class RoundRobinWorkerChoiceStrategy< - Worker extends AbstractPoolWorker, + Worker extends IPoolWorker, Data, Response > extends AbstractWorkerChoiceStrategy { @@ -18,7 +18,13 @@ export class RoundRobinWorkerChoiceStrategy< */ private nextWorkerIndex: number = 0 - /** @inheritdoc */ + /** @inheritDoc */ + public reset (): boolean { + this.nextWorkerIndex = 0 + return true + } + + /** @inheritDoc */ public choose (): Worker { const chosenWorker = this.pool.workers[this.nextWorkerIndex] this.nextWorkerIndex =