Merge branch 'master' of github.com:poolifier/poolifier
[poolifier.git] / docs / classes / FixedThreadPool.html
index cf6bea1d45a9aee31df378844a08fd2beda044db..a7b5b27c4ec19ee612dde0598367a1310d42d962 100644 (file)
@@ -44,7 +44,7 @@
 <ul class="tsd-hierarchy">
 <li><a href="DynamicThreadPool.html" class="tsd-signature-type" data-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/aad1903/src/pools/thread/fixed.ts#L29">src/pools/thread/fixed.ts:29</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L29">src/pools/thread/fixed.ts:29</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">
 <a href="FixedThreadPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
 <a href="FixedThreadPool.html#promiseResponseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Response<wbr/>Map</span></a>
 <a href="FixedThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
-<a href="FixedThreadPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+<a href="FixedThreadPool.html#workerNodes" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Nodes</span></a>
 </div></section>
 <section class="tsd-index-section">
 <h3 class="tsd-index-heading">Accessors</h3>
 <div class="tsd-index-list"><a href="FixedThreadPool.html#busy" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
 <a href="FixedThreadPool.html#full" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>full</span></a>
+<a href="FixedThreadPool.html#numberOfQueuedTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</span></a>
 <a href="FixedThreadPool.html#numberOfRunningTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
 <a href="FixedThreadPool.html#type" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>type</span></a>
 </div></section>
 <section class="tsd-index-section">
 <h3 class="tsd-index-heading">Methods</h3>
-<div class="tsd-index-list"><a href="FixedThreadPool.html#afterPromiseResponseHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></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)" id="icon-2048-text"></path></svg><span>after<wbr/>Promise<wbr/>Response<wbr/>Hook</span></a>
+<div class="tsd-index-list"><a href="FixedThreadPool.html#afterTaskExecutionHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></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)" id="icon-2048-text"></path></svg><span>after<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a>
 <a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
-<a href="FixedThreadPool.html#beforePromiseResponseHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>before<wbr/>Promise<wbr/>Response<wbr/>Hook</span></a>
-<a href="FixedThreadPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#beforeTaskExecutionHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>before<wbr/>Task<wbr/>Execution<wbr/>Hook</span></a>
+<a href="FixedThreadPool.html#chooseWorkerNode" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker<wbr/>Node</span></a>
 <a href="FixedThreadPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
 <a href="FixedThreadPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
 <a href="FixedThreadPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
 <a href="FixedThreadPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
 <a href="FixedThreadPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
-<a href="FixedThreadPool.html#findFreeWorkerKey" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker<wbr/>Key</span></a>
+<a href="FixedThreadPool.html#findFreeWorkerNodeKey" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker<wbr/>Node<wbr/>Key</span></a>
 <a href="FixedThreadPool.html#internalBusy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Busy</span></a>
 <a href="FixedThreadPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
 <a href="FixedThreadPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
-<a href="FixedThreadPool.html#removeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>remove<wbr/>Worker</span></a>
 <a href="FixedThreadPool.html#sendToWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
 <a href="FixedThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
 <a href="FixedThreadPool.html#setupHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>setup<wbr/>Hook</span></a>
 <h4 class="tsd-returns-title">Returns <a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool&lt;ThreadWorkerWithMessageChannel, Data, Response&gt;.constructor</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L40">src/pools/thread/fixed.ts:40</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L40">src/pools/thread/fixed.ts:40</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-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
 <h3>Inherit Doc</h3></div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.emitter</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L32">src/pools/abstract-pool.ts:32</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 </div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.filePath</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L67">src/pools/abstract-pool.ts:67</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L68">src/pools/abstract-pool.ts:68</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 </div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.numberOfWorkers</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L66">src/pools/abstract-pool.ts:66</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L67">src/pools/abstract-pool.ts:67</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span></div>
 </div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.opts</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/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/fc7e697/src/pools/abstract-pool.ts#L69">src/pools/abstract-pool.ts:69</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">promise<wbr/>Response<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseResponseWrapper</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div>
-<div class="tsd-comment tsd-typography"><p>The promise response map.</p>
+<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>
-<li><code>value</code>: An object that contains the worker, the promise resolve and reject callbacks.</li>
+<li><code>value</code>: An object that contains the worker, the execution response promise resolve and reject callbacks.</li>
 </ul>
-<p>When we receive a message from the worker we get a map entry with the promise resolve/reject bound to the message.</p>
+<p>When we receive a message from the worker, we get a map entry with the promise resolve/reject bound to the message id.</p>
 </div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.promiseResponseMap</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L42">src/pools/abstract-pool.ts:42</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L43">src/pools/abstract-pool.ts:43</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></div>
 </div><aside class="tsd-sources">
 <p>Inherited from AbstractPool.workerChoiceStrategyContext</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L52">src/pools/abstract-pool.ts:52</a></li></ul></aside></section>
-<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
-<div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerType</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L53">src/pools/abstract-pool.ts:53</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Nodes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerNode</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
 <div class="tsd-comment tsd-typography">
 <h3>Inherit Doc</h3></div><aside class="tsd-sources">
-<p>Inherited from AbstractPool.workers</p>
+<p>Inherited from AbstractPool.workerNodes</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L29">src/pools/abstract-pool.ts:29</a></li></ul></aside></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Accessors</h2>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.busy</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L105">src/pools/thread/fixed.ts:105</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L105">src/pools/thread/fixed.ts:105</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="full" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>full</span><a href="#full" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.full</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/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/fc7e697/src/pools/thread/fixed.ts#L100">src/pools/thread/fixed.ts:100</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><a id="numberOfQueuedTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</span><a href="#numberOfQueuedTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited">
+<li class="tsd-signature" id="numberOfQueuedTasks.numberOfQueuedTasks-1"><span class="tsd-signature-symbol">get</span> numberOfQueuedTasks<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></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Number of tasks queued in the pool.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.numberOfQueuedTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L166">src/pools/abstract-pool.ts:166</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited">
 <li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<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></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Number of tasks concurrently running in the pool.</p>
+<div class="tsd-comment tsd-typography"><p>Number of tasks running in the pool.</p>
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.numberOfRunningTasks</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L149">src/pools/abstract-pool.ts:149</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L156">src/pools/abstract-pool.ts:156</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.type</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L95">src/pools/thread/fixed.ts:95</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L95">src/pools/thread/fixed.ts:95</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-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterPromiseResponseHook" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Promise<wbr/>Response<wbr/>Hook</span><a href="#afterPromiseResponseHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterTaskExecutionHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Task<wbr/>Execution<wbr/>Hook</span><a href="#afterTaskExecutionHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="afterPromiseResponseHook.afterPromiseResponseHook-1">after<wbr/>Promise<wbr/>Response<wbr/>Hook<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterPromiseResponseHook.afterPromiseResponseHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="afterTaskExecutionHook.afterTaskExecutionHook-1">after<wbr/>Task<wbr/>Execution<wbr/>Hook<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterTaskExecutionHook.afterTaskExecutionHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Hook executed after the worker task promise resolution.
+<div class="tsd-comment tsd-typography"><p>Hook executed after the worker task execution.
 Can be overridden.</p>
 </div>
 <div class="tsd-parameters">
@@ -259,9 +270,9 @@ Can be overridden.</p>
 <div class="tsd-comment tsd-typography"><p>The received message.</p>
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
-<p>Inherited from AbstractPool.afterPromiseResponseHook</p>
+<p>Inherited from AbstractPool.afterTaskExecutionHook</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L268">src/pools/abstract-pool.ts:268</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L304">src/pools/abstract-pool.ts:304</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
@@ -277,53 +288,53 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.afterWorkerSetup</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L85">src/pools/thread/fixed.ts:85</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="beforePromiseResponseHook" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>before<wbr/>Promise<wbr/>Response<wbr/>Hook</span><a href="#beforePromiseResponseHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L85">src/pools/thread/fixed.ts:85</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="beforePromiseResponseHook.beforePromiseResponseHook-1">before<wbr/>Promise<wbr/>Response<wbr/>Hook<span class="tsd-signature-symbol">(</span>workerKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#beforePromiseResponseHook.beforePromiseResponseHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="beforeTaskExecutionHook.beforeTaskExecutionHook-1">before<wbr/>Task<wbr/>Execution<wbr/>Hook<span class="tsd-signature-symbol">(</span>workerNodeKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Hook executed before the worker task promise resolution.
+<div class="tsd-comment tsd-typography"><p>Hook executed before the worker task execution.
 Can be overridden.</p>
 </div>
 <div class="tsd-parameters">
 <h4 class="tsd-parameters-title">Parameters</h4>
 <ul class="tsd-parameter-list">
 <li>
-<h5>workerKey: <span class="tsd-signature-type">number</span></h5>
-<div class="tsd-comment tsd-typography"><p>The worker key.</p>
+<h5>workerNodeKey: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>The worker node key.</p>
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
-<p>Inherited from AbstractPool.beforePromiseResponseHook</p>
+<p>Inherited from AbstractPool.beforeTaskExecutionHook</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L257">src/pools/abstract-pool.ts:257</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L293">src/pools/abstract-pool.ts:293</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</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><span class="tsd-signature-symbol">, </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">]</span><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="chooseWorkerNode.chooseWorkerNode-1">choose<wbr/>Worker<wbr/>Node<span class="tsd-signature-symbol">(</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><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">WorkerNode</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span><a href="#chooseWorkerNode.chooseWorkerNode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Chooses a worker for the next task.</p>
+<div class="tsd-comment tsd-typography"><p>Chooses a worker node for the next task.</p>
 <p>The default uses a round robin algorithm to distribute the load.</p>
 
-<h3>Returns</h3><p>[worker key, worker].</p>
+<h3>Returns</h3><p>[worker node key, worker node].</p>
 </div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">]</span></h4><aside class="tsd-sources">
-<p>Inherited from AbstractPool.chooseWorker</p>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">WorkerNode</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.chooseWorkerNode</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L297">src/pools/abstract-pool.ts:297</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
 <li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1">create<wbr/>And<wbr/>Setup<wbr/>Worker<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" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Creates a new worker for this pool and sets it up completely.</p>
+<div class="tsd-comment tsd-typography"><p>Creates a new worker and sets it up completely in the pool worker nodes.</p>
 
 <h3>Returns</h3><p>New, completely set up worker.</p>
 </div>
 <h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.createAndSetupWorker</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/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/fc7e697/src/pools/abstract-pool.ts#L399">src/pools/abstract-pool.ts:399</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
@@ -334,7 +345,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.createWorker</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L78">src/pools/thread/fixed.ts:78</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L78">src/pools/thread/fixed.ts:78</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -345,7 +356,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.destroy</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L220">src/pools/abstract-pool.ts:220</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L256">src/pools/abstract-pool.ts:256</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="destroyWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -361,7 +372,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.destroyWorker</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L54">src/pools/thread/fixed.ts:54</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/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-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -377,18 +388,18 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.execute</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L204">src/pools/abstract-pool.ts:204</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorkerKey" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker<wbr/>Key</span><a href="#findFreeWorkerKey" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L228">src/pools/abstract-pool.ts:228</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorkerNodeKey" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker<wbr/>Node<wbr/>Key</span><a href="#findFreeWorkerNodeKey" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="findFreeWorkerKey.findFreeWorkerKey-1">find<wbr/>Free<wbr/>Worker<wbr/>Key<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="#findFreeWorkerKey.findFreeWorkerKey-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="findFreeWorkerNodeKey.findFreeWorkerNodeKey-1">find<wbr/>Free<wbr/>Worker<wbr/>Node<wbr/>Key<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="#findFreeWorkerNodeKey.findFreeWorkerNodeKey-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography">
 <h3>Inherit Doc</h3></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
-<p>Inherited from AbstractPool.findFreeWorkerKey</p>
+<p>Inherited from AbstractPool.findFreeWorkerNodeKey</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L197">src/pools/abstract-pool.ts:197</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L221">src/pools/abstract-pool.ts:221</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -397,7 +408,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.internalBusy</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L189">src/pools/abstract-pool.ts:189</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L216">src/pools/abstract-pool.ts:216</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
@@ -408,7 +419,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.isMain</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -442,25 +453,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.registerWorkerMessageListener</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L70">src/pools/thread/fixed.ts:70</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
-<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="removeWorker.removeWorker-1">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#removeWorker.removeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
-<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Removes the given worker from the pool.</p>
-</div>
-<div class="tsd-parameters">
-<h4 class="tsd-parameters-title">Parameters</h4>
-<ul class="tsd-parameter-list">
-<li>
-<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
-<div class="tsd-comment tsd-typography"><p>The worker that will be removed.</p>
-</div></li></ul></div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
-<p>Inherited from AbstractPool.removeWorker</p>
-<ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L487">src/pools/abstract-pool.ts:487</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/thread/fixed.ts#L70">src/pools/thread/fixed.ts:70</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
@@ -478,7 +471,7 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Overrides AbstractPool.sendToWorker</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/thread/fixed.ts#L62">src/pools/thread/fixed.ts:62</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/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-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -494,26 +487,25 @@ Can be overridden.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.setWorkerChoiceStrategy</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L164">src/pools/abstract-pool.ts:164</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L189">src/pools/abstract-pool.ts:189</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
 <li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1">setup<wbr/>Hook<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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Setup hook that can be overridden by a Poolifier pool implementation
-to run code before workers are created in the abstract constructor.
+<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>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from AbstractPool.setupHook</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L242">src/pools/abstract-pool.ts:242</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L278">src/pools/abstract-pool.ts:278</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class 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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
 <li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1">worker<wbr/>Listener<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker message.</p>
 
 <h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
 </div>
@@ -523,7 +515,7 @@ Can be overridden</p>
 <ul class="tsd-signatures tsd-kind-type-literal">
 <li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</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-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker message.</p>
 
 <h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
 </div>
@@ -535,7 +527,7 @@ Can be overridden</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
 <p>Inherited from AbstractPool.workerListener</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/aad1903/src/pools/abstract-pool.ts#L392">src/pools/abstract-pool.ts:392</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/fc7e697/src/pools/abstract-pool.ts#L422">src/pools/abstract-pool.ts:422</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 <div class="tsd-navigation settings">
 <details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
@@ -568,25 +560,25 @@ Can be overridden</p>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#promiseResponseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Response<wbr/>Map</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
-<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#workerNodes" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Nodes</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedThreadPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedThreadPool.html#full" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>full</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><a href="FixedThreadPool.html#numberOfQueuedTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private tsd-is-inherited"><a href="FixedThreadPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedThreadPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#afterPromiseResponseHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Promise<wbr/>Response<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#afterTaskExecutionHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Task<wbr/>Execution<wbr/>Hook</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#beforePromiseResponseHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>before<wbr/>Promise<wbr/>Response<wbr/>Hook</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#beforeTaskExecutionHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>before<wbr/>Task<wbr/>Execution<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#chooseWorkerNode" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker<wbr/>Node</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedThreadPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#findFreeWorkerKey" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker<wbr/>Key</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#findFreeWorkerNodeKey" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker<wbr/>Node<wbr/>Key</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#internalBusy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Busy</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedThreadPool.html#registerWorkerMessageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#removeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>remove<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#sendToWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#setupHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>setup<wbr/>Hook</a></li>