<h1>Class FixedThreadPool<Data, Response></h1></div>
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography"><p>A thread pool with a fixed number of threads.</p>
-<p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
-<p>This pool selects the threads in a round robin fashion.</p>
</div>
<div class="tsd-comment tsd-typography">
<h4>Author</h4><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
<ul class="tsd-type-parameter-list">
<li>
<h4><span class="tsd-kind-type-parameter">Data</span> = <span class="tsd-signature-type">unknown</span></h4>
-<div class="tsd-comment tsd-typography"><p>Type of data sent to the worker. This can only be serializable data.</p>
+<div class="tsd-comment tsd-typography"><p>Type of data sent to the worker. This can only be structured-cloneable data.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<li>
<h4><span class="tsd-kind-type-parameter">Response</span> = <span class="tsd-signature-type">unknown</span></h4>
-<div class="tsd-comment tsd-typography"><p>Type of execution response. This can only be serializable data.</p>
+<div class="tsd-comment tsd-typography"><p>Type of execution response. This can only be structured-cloneable data.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></section>
<section class="tsd-panel tsd-hierarchy">
<h4>Hierarchy</h4>
<ul class="tsd-hierarchy">
-<li><a href="AbstractPool.html" class="tsd-signature-type tsd-kind-class">AbstractPool</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span>
+<li><a href="AbstractPool.html" class="tsd-signature-type tsd-kind-class">AbstractPool</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span>
<ul class="tsd-hierarchy">
<li><span class="target">FixedThreadPool</span>
<ul class="tsd-hierarchy">
<li><a href="DynamicThreadPool.html" class="tsd-signature-type tsd-kind-class">DynamicThreadPool</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L34">src/pools/thread/fixed.ts:34</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L37">src/pools/thread/fixed.ts:37</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
<section class="tsd-index-section">
<h3 class="tsd-index-heading">Methods</h3>
<div class="tsd-index-list"><a href="FixedThreadPool.html#afterTaskExecutionHook" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>after<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a>
-<a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
<a href="FixedThreadPool.html#beforeTaskExecutionHook" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>before<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a>
-<a href="FixedThreadPool.html#chooseWorkerNode" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>choose<wbr/>Worker<wbr/>Node</span></a>
+<a href="FixedThreadPool.html#createAndSetupDynamicWorker" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Dynamic<wbr/>Worker</span></a>
<a href="FixedThreadPool.html#createAndSetupWorker" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
<a href="FixedThreadPool.html#createWorker" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Worker</span></a>
<a href="FixedThreadPool.html#destroy" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>destroy</span></a>
<a href="FixedThreadPool.html#execute" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>execute</span></a>
<a href="FixedThreadPool.html#internalBusy" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>internal<wbr/>Busy</span></a>
<a href="FixedThreadPool.html#isMain" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>is<wbr/>Main</span></a>
-<a href="FixedThreadPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
<a href="FixedThreadPool.html#sendToWorker" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
<a href="FixedThreadPool.html#setTasksQueueOptions" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span></a>
<a href="FixedThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<li>
-<h5><span class="tsd-kind-parameter">opts</span>: <a href="../interfaces/PoolOptions.html" class="tsd-signature-type tsd-kind-interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = {}</span></h5>
+<h5><span class="tsd-kind-parameter">opts</span>: <a href="../interfaces/ThreadPoolOptions.html" class="tsd-signature-type tsd-kind-interface">ThreadPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></h5>
<div class="tsd-comment tsd-typography"><p>Options for this fixed thread pool.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#constructor">constructor</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L45">src/pools/thread/fixed.ts:45</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L48">src/pools/thread/fixed.ts:48</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#emitter">emitter</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L48">src/pools/abstract-pool.ts:48</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L55">src/pools/abstract-pool.ts:55</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">file<wbr/>Path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#filePath">filePath</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L83">src/pools/abstract-pool.ts:83</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L88">src/pools/abstract-pool.ts:88</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">number<wbr/>Of<wbr/>Workers</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#numberOfWorkers">numberOfWorkers</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L82">src/pools/abstract-pool.ts:82</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L87">src/pools/abstract-pool.ts:87</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<div class="tsd-signature"><span class="tsd-kind-property">opts</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/PoolOptions.html" class="tsd-signature-type tsd-kind-interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span></div>
-<div class="tsd-comment tsd-typography"><p>Options for the pool.</p>
+<div class="tsd-signature"><span class="tsd-kind-property">opts</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/ThreadPoolOptions.html" class="tsd-signature-type tsd-kind-interface">ThreadPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div>
+<div class="tsd-comment tsd-typography"><p>Options for this fixed thread pool.</p>
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#opts">opts</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L84">src/pools/abstract-pool.ts:84</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L51">src/pools/thread/fixed.ts:51</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="promiseResponseMap" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Response<wbr/>Map</span><a href="#promiseResponseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<div class="tsd-signature"><span class="tsd-kind-property">promise<wbr/>Response<wbr/>Map</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/PromiseResponseWrapper.html" class="tsd-signature-type tsd-kind-interface">PromiseResponseWrapper</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-signature"><span class="tsd-kind-property">promise<wbr/>Response<wbr/>Map</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/PromiseResponseWrapper.html" class="tsd-signature-type tsd-kind-interface">PromiseResponseWrapper</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
<div class="tsd-comment tsd-typography"><p>The execution response promise map.</p>
<ul>
<li><code>key</code>: The message id of each submitted task.</li>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#promiseResponseMap">promiseResponseMap</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L58">src/pools/abstract-pool.ts:58</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L65">src/pools/abstract-pool.ts:65</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><span class="tsd-signature-symbol">:</span> <a href="WorkerChoiceStrategyContext.html" class="tsd-signature-type tsd-kind-class">WorkerChoiceStrategyContext</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><span class="tsd-signature-symbol">:</span> <a href="WorkerChoiceStrategyContext.html" class="tsd-signature-type tsd-kind-class">WorkerChoiceStrategyContext</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">></span></div>
<div class="tsd-comment tsd-typography"><p>Worker choice strategy context referencing a worker choice algorithm implementation.</p>
-<p>Default to a round robin algorithm.</p>
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#workerChoiceStrategyContext">workerChoiceStrategyContext</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L68">src/pools/abstract-pool.ts:68</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L73">src/pools/abstract-pool.ts:73</a></li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="workerNodes" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>worker<wbr/>Nodes</span><a href="#workerNodes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Nodes</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerNode.html" class="tsd-signature-type tsd-kind-interface">WorkerNode</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Nodes</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerNode.html" class="tsd-signature-type tsd-kind-interface">WorkerNode</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
<div class="tsd-comment tsd-typography"><p>Pool worker nodes.</p>
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#workerNodes">workerNodes</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L45">src/pools/abstract-pool.ts:45</a></li></ul></aside></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L52">src/pools/abstract-pool.ts:52</a></li></ul></aside></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Accessors</h2>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="busy" class="tsd-anchor"></a>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides AbstractPool.busy</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L120">src/pools/thread/fixed.ts:120</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L101">src/pools/thread/fixed.ts:101</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="full" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>full</span><a href="#full" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from AbstractPool.full</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L363">src/pools/abstract-pool.ts:363</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L392">src/pools/abstract-pool.ts:392</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="info" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>info</span><a href="#info" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from AbstractPool.info</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L216">src/pools/abstract-pool.ts:216</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L240">src/pools/abstract-pool.ts:240</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="maxSize" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>max<wbr/>Size</span><a href="#maxSize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides AbstractPool.maxSize</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L115">src/pools/thread/fixed.ts:115</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L96">src/pools/thread/fixed.ts:96</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="minSize" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>min<wbr/>Size</span><a href="#minSize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides AbstractPool.minSize</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L110">src/pools/thread/fixed.ts:110</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L91">src/pools/thread/fixed.ts:91</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="type" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides AbstractPool.type</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L100">src/pools/thread/fixed.ts:100</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L81">src/pools/thread/fixed.ts:81</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="worker" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker</span><a href="#worker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides AbstractPool.worker</p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L105">src/pools/thread/fixed.ts:105</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L86">src/pools/thread/fixed.ts:86</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="afterTaskExecutionHook" class="tsd-anchor"></a>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
+<h5><span class="tsd-kind-parameter">worker</span>: <span class="tsd-signature-type ">Worker</span></h5>
<div class="tsd-comment tsd-typography"><p>The worker.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<li>
-<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">MessagePort</span><span class="tsd-signature-symbol">></span></h5>
+<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography"><p>The received message.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#afterTaskExecutionHook">afterTaskExecutionHook</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L467">src/pools/abstract-pool.ts:467</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-is-protected"><a id="afterWorkerSetup" class="tsd-anchor"></a>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L506">src/pools/abstract-pool.ts:506</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="afterWorkerSetup" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<ul class="tsd-signatures tsd-is-protected">
+<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1"><span class="tsd-kind-call-signature">after<wbr/>Worker<wbr/>Setup</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterWorkerSetup.afterWorkerSetup-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Function that can be hooked up when a worker has been newly created and moved to the pool worker nodes.</p>
-<p>Can be used to update the <code>maxListeners</code> or binding the <code>main-worker</code><-><code>worker</code> connection if not bind by default.</p>
+<div class="tsd-comment tsd-typography"><p>Function that can be hooked up when a worker has been newly created and moved to the pool worker nodes.
+Can be overridden.</p>
</div>
<div class="tsd-parameters">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
+<h5><span class="tsd-kind-parameter">worker</span>: <span class="tsd-signature-type ">Worker</span></h5>
<div class="tsd-comment tsd-typography"><p>The newly created worker.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
-<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#afterWorkerSetup">afterWorkerSetup</a></p>
+<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#afterWorkerSetup">afterWorkerSetup</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L90">src/pools/thread/fixed.ts:90</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L699">src/pools/abstract-pool.ts:699</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="beforeTaskExecutionHook" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>before<wbr/>Task<wbr/>Execution<wbr/>Hook</span><a href="#beforeTaskExecutionHook" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="beforeTaskExecutionHook.beforeTaskExecutionHook-1"><span class="tsd-kind-call-signature">before<wbr/>Task<wbr/>Execution<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">workerNodeKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#beforeTaskExecutionHook.beforeTaskExecutionHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="beforeTaskExecutionHook.beforeTaskExecutionHook-1"><span class="tsd-kind-call-signature">before<wbr/>Task<wbr/>Execution<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">workerNodeKey</span>, <span class="tsd-kind-parameter">task</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#beforeTaskExecutionHook.beforeTaskExecutionHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
<div class="tsd-comment tsd-typography"><p>Hook executed before the worker task execution.
Can be overridden.</p>
<h5><span class="tsd-kind-parameter">workerNodeKey</span>: <span class="tsd-signature-type">number</span></h5>
<div class="tsd-comment tsd-typography"><p>The worker node key.</p>
</div>
+<div class="tsd-comment tsd-typography"></div></li>
+<li>
+<h5><span class="tsd-kind-parameter">task</span>: <a href="../interfaces/Task.html" class="tsd-signature-type tsd-kind-interface">Task</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>The task to execute.</p>
+</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#beforeTaskExecutionHook">beforeTaskExecutionHook</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L456">src/pools/abstract-pool.ts:456</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="chooseWorkerNode" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker<wbr/>Node</span><a href="#chooseWorkerNode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L490">src/pools/abstract-pool.ts:490</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="createAndSetupDynamicWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Dynamic<wbr/>Worker</span><a href="#createAndSetupDynamicWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="chooseWorkerNode.chooseWorkerNode-1"><span class="tsd-kind-call-signature">choose<wbr/>Worker<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#chooseWorkerNode.chooseWorkerNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupDynamicWorker.createAndSetupDynamicWorker-1"><span class="tsd-kind-call-signature">create<wbr/>And<wbr/>Setup<wbr/>Dynamic<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Worker</span><a href="#createAndSetupDynamicWorker.createAndSetupDynamicWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Chooses a worker node for the next task.</p>
-<p>The default worker choice strategy uses a round robin algorithm to distribute the load.</p>
+<div class="tsd-comment tsd-typography"><p>Creates a new dynamic worker and sets it up completely in the pool worker nodes.</p>
</div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The worker node key</p>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Worker</span></h4><p>New, completely set up dynamic worker.</p>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
-<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#chooseWorkerNode">chooseWorkerNode</a></p>
+<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#createAndSetupDynamicWorker">createAndSetupDynamicWorker</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L554">src/pools/abstract-pool.ts:554</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L742">src/pools/abstract-pool.ts:742</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1"><span class="tsd-kind-call-signature">create<wbr/>And<wbr/>Setup<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1"><span class="tsd-kind-call-signature">create<wbr/>And<wbr/>Setup<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Worker</span><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
<div class="tsd-comment tsd-typography"><p>Creates a new worker and sets it up completely in the pool worker nodes.</p>
</div>
-<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h4><p>New, completely set up worker.</p>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Worker</span></h4><p>New, completely set up worker.</p>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#createAndSetupWorker">createAndSetupWorker</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L618">src/pools/abstract-pool.ts:618</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L709">src/pools/abstract-pool.ts:709</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="createWorker" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
-<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1"><span class="tsd-kind-call-signature">create<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1"><span class="tsd-kind-call-signature">create<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Worker</span><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Returns a newly created worker.</p>
+<div class="tsd-comment tsd-typography"><p>Creates a new worker.</p>
</div>
-<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h4>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Worker</span></h4><p>Newly created worker.</p>
+
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#createWorker">createWorker</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L83">src/pools/thread/fixed.ts:83</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L73">src/pools/thread/fixed.ts:73</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1"><span class="tsd-kind-call-signature">destroy</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Shutdowns every current worker in this pool.</p>
+<div class="tsd-comment tsd-typography"><p>Terminate every current worker in this pool.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#destroy">destroy</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L418">src/pools/abstract-pool.ts:418</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L451">src/pools/abstract-pool.ts:451</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="destroyWorker" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1"><span class="tsd-kind-call-signature">destroy<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroyWorker.destroyWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Shutdowns the given worker.</p>
+<div class="tsd-comment tsd-typography"><p>Terminates the given worker.</p>
</div>
<div class="tsd-parameters">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
+<h5><span class="tsd-kind-parameter">worker</span>: <span class="tsd-signature-type ">Worker</span></h5>
<div class="tsd-comment tsd-typography"><p>A worker within <code>workerNodes</code>.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#destroyWorker">destroyWorker</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L59">src/pools/thread/fixed.ts:59</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L62">src/pools/thread/fixed.ts:62</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="enableTasksQueue" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>enable<wbr/>Tasks<wbr/>Queue</span><a href="#enableTasksQueue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#enableTasksQueue">enableTasksQueue</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L328">src/pools/abstract-pool.ts:328</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L357">src/pools/abstract-pool.ts:357</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<ul class="tsd-parameter-list">
<li>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">data</span>: <span class="tsd-signature-type tsd-kind-type-parameter">Data</span></h5>
-<div class="tsd-comment tsd-typography"><p>The task input data for the specified worker function. This can only be serializable data.</p>
+<div class="tsd-comment tsd-typography"><p>The task input data for the specified worker function. This can only be structured-cloneable data.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<li>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#execute">execute</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L383">src/pools/abstract-pool.ts:383</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L417">src/pools/abstract-pool.ts:417</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="internalBusy" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Busy</span><a href="#internalBusy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
<li class="tsd-signature tsd-anchor-link" id="internalBusy.internalBusy-1"><span class="tsd-kind-call-signature">internal<wbr/>Busy</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#internalBusy.internalBusy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<div class="tsd-comment tsd-typography"><p>Whether worker nodes are executing at least one task.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Worker nodes busyness boolean status.</p>
+
+<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#internalBusy">internalBusy</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L374">src/pools/abstract-pool.ts:374</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L408">src/pools/abstract-pool.ts:408</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="isMain" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#isMain">isMain</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L54">src/pools/thread/fixed.ts:54</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-is-protected"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
-<ul class="tsd-signatures tsd-is-protected">
-<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1"><span class="tsd-kind-call-signature">register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Message</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span>, <span class="tsd-kind-parameter">listener</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
-<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Registers a listener callback on the given worker.</p>
-</div>
-<section class="tsd-panel">
-<h4>Type Parameters</h4>
-<ul class="tsd-type-parameter-list">
-<li>
-<h4><span class="tsd-kind-type-parameter">Message</span></h4></li></ul></section>
-<div class="tsd-parameters">
-<h4 class="tsd-parameters-title">Parameters</h4>
-<ul class="tsd-parameter-list">
-<li>
-<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
-<div class="tsd-comment tsd-typography"><p>The worker which should register a listener.</p>
-</div>
-<div class="tsd-comment tsd-typography"></div></li>
-<li>
-<h5><span class="tsd-kind-parameter">listener</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
-<div class="tsd-comment tsd-typography"><p>The message listener callback.</p>
-</div>
-<div class="tsd-comment tsd-typography"></div>
-<ul class="tsd-parameters">
-<li class="tsd-parameter-signature">
-<ul class="tsd-signatures">
-<li class="tsd-signature"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-<li class="tsd-description">
-<div class="tsd-parameters">
-<h4 class="tsd-parameters-title">Parameters</h4>
-<ul class="tsd-parameter-list">
-<li>
-<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Message</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">MessagePort</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
-<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p>
-<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L75">src/pools/thread/fixed.ts:75</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L57">src/pools/thread/fixed.ts:57</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected"><a id="sendToWorker" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
+<h5><span class="tsd-kind-parameter">worker</span>: <span class="tsd-signature-type ">Worker</span></h5>
<div class="tsd-comment tsd-typography"><p>The worker which should receive the message.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<li>
-<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">MessagePort</span><span class="tsd-signature-symbol">></span></h5>
+<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography"><p>The message.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li></ul></div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Overrides <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#sendToWorker">sendToWorker</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/thread/fixed.ts#L67">src/pools/thread/fixed.ts:67</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/thread/fixed.ts#L68">src/pools/thread/fixed.ts:68</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setTasksQueueOptions" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span><a href="#setTasksQueueOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#setTasksQueueOptions">setTasksQueueOptions</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L340">src/pools/abstract-pool.ts:340</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L369">src/pools/abstract-pool.ts:369</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">workerChoiceStrategy</span>: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LEAST_USED"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LEAST_BUSY"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FAIR_SHARE"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"WEIGHTED_ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"INTERLEAVED_WEIGHTED_ROUND_ROBIN"</span></h5>
+<h5><span class="tsd-kind-parameter">workerChoiceStrategy</span>: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LEAST_USED"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LEAST_BUSY"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LEAST_ELU"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FAIR_SHARE"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"WEIGHTED_ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"INTERLEAVED_WEIGHTED_ROUND_ROBIN"</span></h5>
<div class="tsd-comment tsd-typography"><p>The worker choice strategy.</p>
</div>
<div class="tsd-comment tsd-typography"></div></li>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#setWorkerChoiceStrategy">setWorkerChoiceStrategy</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L285">src/pools/abstract-pool.ts:285</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L324">src/pools/abstract-pool.ts:324</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setWorkerChoiceStrategyOptions" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span><a href="#setWorkerChoiceStrategyOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-inherited">
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#setWorkerChoiceStrategyOptions">setWorkerChoiceStrategyOptions</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L317">src/pools/abstract-pool.ts:317</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L346">src/pools/abstract-pool.ts:346</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1"><span class="tsd-kind-call-signature">setup<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Setup hook to execute code before worker node are created in the abstract constructor.
-Can be overridden</p>
+<div class="tsd-comment tsd-typography"><p>Setup hook to execute code before worker nodes are created in the abstract constructor.
+Can be overridden.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#setupHook">setupHook</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L441">src/pools/abstract-pool.ts:441</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L474">src/pools/abstract-pool.ts:474</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameter-list">
<li>
-<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type ">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">MessagePort</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
+<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><p>The listener function to execute when a message is received from a worker.</p>
<div class="tsd-comment tsd-typography"></div></li></ul></li></ul>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<p>Inherited from <a href="AbstractPool.html">AbstractPool</a>.<a href="AbstractPool.html#workerListener">workerListener</a></p>
<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/a788de3/src/pools/abstract-pool.ts#L653">src/pools/abstract-pool.ts:653</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/6677a3d/src/pools/abstract-pool.ts#L769">src/pools/abstract-pool.ts:769</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
<li><a href="#type" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>type</span></a></li>
<li><a href="#worker" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>worker</span></a></li>
<li><a href="#afterTaskExecutionHook" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>after<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a></li>
-<li><a href="#afterWorkerSetup" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a></li>
+<li><a href="#afterWorkerSetup" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a></li>
<li><a href="#beforeTaskExecutionHook" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>before<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a></li>
-<li><a href="#chooseWorkerNode" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>choose<wbr/>Worker<wbr/>Node</span></a></li>
+<li><a href="#createAndSetupDynamicWorker" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Dynamic<wbr/>Worker</span></a></li>
<li><a href="#createAndSetupWorker" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a></li>
<li><a href="#createWorker" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Worker</span></a></li>
<li><a href="#destroy" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>destroy</span></a></li>
<li><a href="#execute" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>execute</span></a></li>
<li><a href="#internalBusy" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>internal<wbr/>Busy</span></a></li>
<li><a href="#isMain" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>is<wbr/>Main</span></a></li>
-<li><a href="#registerWorkerMessageListener" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a></li>
<li><a href="#sendToWorker" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a></li>
<li><a href="#setTasksQueueOptions" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span></a></li>
<li><a href="#setWorkerChoiceStrategy" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a></li>
<li><a href="ThreadWorker.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Thread<wbr/>Worker</span></a></li>
<li><a href="WorkerChoiceStrategyContext.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a></li>
<li><a href="../interfaces/ClusterPoolOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>Cluster<wbr/>Pool<wbr/>Options</span></a></li>
+<li><a href="../interfaces/EventLoopUtilizationMeasurementStatistics.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Event<wbr/>Loop<wbr/>Utilization<wbr/>Measurement<wbr/>Statistics</span></a></li>
<li><a href="../interfaces/IPool.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IPool</span></a></li>
<li><a href="../interfaces/IWorker.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IWorker</span></a></li>
<li><a href="../interfaces/IWorkerChoiceStrategy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IWorker<wbr/>Choice<wbr/>Strategy</span></a></li>
+<li><a href="../interfaces/MeasurementOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Measurement<wbr/>Options</span></a></li>
+<li><a href="../interfaces/MeasurementStatistics.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Measurement<wbr/>Statistics</span></a></li>
+<li><a href="../interfaces/MeasurementStatisticsRequirements.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Measurement<wbr/>Statistics<wbr/>Requirements</span></a></li>
<li><a href="../interfaces/MessageValue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Message<wbr/>Value</span></a></li>
<li><a href="../interfaces/PoolInfo.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Pool<wbr/>Info</span></a></li>
<li><a href="../interfaces/PoolOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Pool<wbr/>Options</span></a></li>
<li><a href="../interfaces/PromiseResponseWrapper.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Promise<wbr/>Response<wbr/>Wrapper</span></a></li>
+<li><a href="../interfaces/StrategyPolicy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Strategy<wbr/>Policy</span></a></li>
<li><a href="../interfaces/Task.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Task</span></a></li>
+<li><a href="../interfaces/TaskError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Task<wbr/>Error</span></a></li>
+<li><a href="../interfaces/TaskPerformance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Task<wbr/>Performance</span></a></li>
<li><a href="../interfaces/TaskStatistics.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Task<wbr/>Statistics</span></a></li>
+<li><a href="../interfaces/TaskStatisticsRequirements.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Task<wbr/>Statistics<wbr/>Requirements</span></a></li>
<li><a href="../interfaces/TasksQueueOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Tasks<wbr/>Queue<wbr/>Options</span></a></li>
-<li><a href="../interfaces/TasksUsage.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Tasks<wbr/>Usage</span></a></li>
+<li><a href="../interfaces/ThreadPoolOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Thread<wbr/>Pool<wbr/>Options</span></a></li>
<li><a href="../interfaces/WorkerChoiceStrategyOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span></a></li>
<li><a href="../interfaces/WorkerNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Worker<wbr/>Node</span></a></li>
<li><a href="../interfaces/WorkerOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Worker<wbr/>Options</span></a></li>
-<li><a href="../types/Draft.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g></svg><span>Draft</span></a></li>
-<li><a href="../types/ErrorHandler.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Error<wbr/>Handler</span></a></li>
+<li><a href="../interfaces/WorkerStatistics.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Worker<wbr/>Statistics</span></a></li>
+<li><a href="../interfaces/WorkerUsage.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>Worker<wbr/>Usage</span></a></li>
+<li><a href="../types/ErrorHandler.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g></svg><span>Error<wbr/>Handler</span></a></li>
<li><a href="../types/ExitHandler.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Exit<wbr/>Handler</span></a></li>
<li><a href="../types/KillBehavior.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Kill<wbr/>Behavior</span></a></li>
+<li><a href="../types/Measurement.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Measurement</span></a></li>
<li><a href="../types/MessageHandler.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Message<wbr/>Handler</span></a></li>
<li><a href="../types/OnlineHandler.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Online<wbr/>Handler</span></a></li>
<li><a href="../types/PoolEvent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Pool<wbr/>Event</span></a></li>
<li><a href="../types/PoolType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Pool<wbr/>Type</span></a></li>
<li><a href="../types/TaskFunctions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Task<wbr/>Functions</span></a></li>
-<li><a href="../types/ThreadWorkerWithMessageChannel.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</span></a></li>
<li><a href="../types/WorkerAsyncFunction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Worker<wbr/>Async<wbr/>Function</span></a></li>
<li><a href="../types/WorkerChoiceStrategy.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy</span></a></li>
<li><a href="../types/WorkerFunction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Worker<wbr/>Function</span></a></li>
<li><a href="../types/WorkerSyncFunction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Worker<wbr/>Sync<wbr/>Function</span></a></li>
<li><a href="../types/WorkerType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Worker<wbr/>Type</span></a></li>
<li><a href="../variables/KillBehaviors.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)"></path></g></svg><span>Kill<wbr/>Behaviors</span></a></li>
+<li><a href="../variables/Measurements.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg><span>Measurements</span></a></li>
<li><a href="../variables/PoolEvents.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg><span>Pool<wbr/>Events</span></a></li>
<li><a href="../variables/PoolTypes.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg><span>Pool<wbr/>Types</span></a></li>
<li><a href="../variables/WorkerChoiceStrategies.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategies</span></a></li>