Add UTs for WorkerChoiceStrategyContext
[poolifier.git] / docs / classes / DynamicThreadPool.html
CommitLineData
24c3fcb4
JB
1<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DynamicThreadPool | poolifier</title><meta name="description" content="Documentation for poolifier"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">poolifier</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">poolifier</a></li><li><a href="DynamicThreadPool.html">DynamicThreadPool</a></li></ul><h1>Class DynamicThreadPool&lt;Data, Response&gt;</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
2<p>A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.</p>
3</div><div><p>This thread pool creates new threads when the others are busy, up to the maximum number of threads.
4When the maximum number of threads is reached, an event is emitted. If you want to listen to this event, use the pool&#39;s <code>emitter</code>.</p>
5</div><dl class="tsd-comment-tags"><dt>template DataType</dt><dd><p>of data sent to the worker. This can only be serializable data.</p>
6</dd><dt>template ResponseType</dt><dd><p>of response of execution. This can only be serializable data.</p>
7</dd><dt>author</dt><dd><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
8</dd><dt>since</dt><dd><p>0.0.1</p>
d0f1dce3 9</dd></dl></div></section><section class="tsd-panel tsd-type-parameters"><h3>Type parameters</h3><ul class="tsd-type-parameters"><li><h4>Data = <span class="tsd-signature-type">unknown</span></h4></li><li><h4>Response = <span class="tsd-signature-type">unknown</span></h4></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><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><ul class="tsd-hierarchy"><li><span class="target">DynamicThreadPool</span></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="DynamicThreadPool.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section tsd-is-inherited"><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#filePath" class="tsd-kind-icon">file<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#max" class="tsd-kind-icon">max</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#nextMessageId" class="tsd-kind-icon">next<wbr/>Message<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#numberOfWorkers" class="tsd-kind-icon">number<wbr/>Of<wbr/>Workers</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#opts" class="tsd-kind-icon">opts</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#promiseMap" class="tsd-kind-icon">promise<wbr/>Map</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#tasks" class="tsd-kind-icon">tasks</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#workerChoiceStrategyContext" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#workers" class="tsd-kind-icon">workers</a></li></ul></section><section class="tsd-index-section "><h3>Accessors</h3><ul class="tsd-index-list"><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="DynamicThreadPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#numberOfRunningTasks" class="tsd-kind-icon">number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="DynamicThreadPool.html#type" class="tsd-kind-icon">type</a></li></ul></section><section class="tsd-index-section tsd-is-inherited"><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#afterWorkerSetup" class="tsd-kind-icon">after<wbr/>Worker<wbr/>Setup</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#chooseWorker" class="tsd-kind-icon">choose<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#createAndSetupWorker" class="tsd-kind-icon">create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#createWorker" class="tsd-kind-icon">create<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#decreaseWorkersTasks" class="tsd-kind-icon">decrease<wbr/>Workers<wbr/>Tasks</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#destroyWorker" class="tsd-kind-icon">destroy<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#findFreeTasksMapEntry" class="tsd-kind-icon">find<wbr/>Free<wbr/>Tasks<wbr/>Map<wbr/>Entry</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#increaseWorkersTask" class="tsd-kind-icon">increase<wbr/>Workers<wbr/>Task</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#internalExecute" class="tsd-kind-icon">internal<wbr/>Execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#internalGetBusyStatus" class="tsd-kind-icon">internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#isMain" class="tsd-kind-icon">is<wbr/>Main</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited"><a href="DynamicThreadPool.html#registerWorkerMessageListener" class="tsd-kind-icon">register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#sendToWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#setWorkerChoiceStrategy" class="tsd-kind-icon">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#setupHook" class="tsd-kind-icon">setup<wbr/>Hook</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#workerListener" class="tsd-kind-icon">worker<wbr/>Listener</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a id="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon">new <wbr/>Dynamic<wbr/>Thread<wbr/>Pool<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><span class="tsd-signature-symbol">(</span>min<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, max<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, filePath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, 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="../index.html#ThreadWorkerWithMessageChannel" 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><a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/dynamic.ts#L29">src/pools/thread/dynamic.ts:29</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
10<p>Constructs a new poolifier dynamic thread pool.</p>
11</div></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Data = <span class="tsd-signature-type">unknown</span></h4></li><li><h4>Response = <span class="tsd-signature-type">unknown</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>min: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
12<p>Minimum number of threads which are always active.</p>
13</div></div></li><li><h5>max: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
14<p>Maximum number of threads that can be created by this pool.</p>
15</div></div></li><li><h5>filePath: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
16<p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
d0f1dce3 17</div></div></li><li><h5>opts: <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = {}</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</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></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-inherited"><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><span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> emitter</h3><div class="tsd-signature tsd-kind-icon">emitter<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">PoolEmitter</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#emitter">emitter</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L127">src/pools/abstract-pool.ts:127</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><span class="tsd-flag ts-flagReadonly">Readonly</span> file<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#filePath">filePath</a></p></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="max" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> max</h3><div class="tsd-signature tsd-kind-icon">max<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#max">max</a></p></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="nextMessageId" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> next<wbr/>Message<wbr/>Id</h3><div class="tsd-signature tsd-kind-icon">next<wbr/>Message<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#nextMessageId">nextMessageId</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L148">src/pools/abstract-pool.ts:148</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4 18<p>Id of the next message.</p>
d0f1dce3 19</div></div></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><span class="tsd-flag ts-flagReadonly">Readonly</span> number<wbr/>Of<wbr/>Workers</h3><div class="tsd-signature tsd-kind-icon">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#numberOfWorkers">numberOfWorkers</a></p></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><span class="tsd-flag ts-flagReadonly">Readonly</span> opts</h3><div class="tsd-signature tsd-kind-icon">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="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#opts">opts</a></p></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="promiseMap" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> promise<wbr/>Map</h3><div class="tsd-signature tsd-kind-icon">promise<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">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#ThreadWorkerWithMessageChannel" 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><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#promiseMap">promiseMap</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L140">src/pools/abstract-pool.ts:140</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
20<p>The promise map.</p>
21</div><div><ul>
22<li><code>key</code>: This is the message Id of each submitted task.</li>
23<li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
24</ul>
25<p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
d0f1dce3 26</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="tasks" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> tasks</h3><div class="tsd-signature tsd-kind-icon">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#tasks">tasks</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L124">src/pools/abstract-pool.ts:124</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</h3><div class="tsd-signature tsd-kind-icon">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="../index.html#ThreadWorkerWithMessageChannel" 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><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerChoiceStrategyContext">workerChoiceStrategyContext</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
27<p>Worker choice strategy instance implementing the worker choice algorithm.</p>
28</div><div><p>Default to a strategy implementing a round robin algorithm.</p>
d0f1dce3 29</div></div></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><span class="tsd-flag ts-flagReadonly">Readonly</span> workers</h3><div class="tsd-signature tsd-kind-icon">workers<span class="tsd-signature-symbol">:</span> <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workers">workers</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L121">src/pools/abstract-pool.ts:121</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-get-signature tsd-parent-kind-class tsd-is-overwrite"><a id="busy" class="tsd-anchor"></a><h3>busy</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> busy<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides FixedThreadPool.busy</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/dynamic.ts#L44">src/pools/thread/dynamic.ts:44</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a><h3>number<wbr/>Of<wbr/>Running<wbr/>Tasks</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon"><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from FixedThreadPool.numberOfRunningTasks</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L242">src/pools/abstract-pool.ts:242</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a id="type" class="tsd-anchor"></a><h3>type</h3><ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> type<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">PoolType</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides FixedThreadPool.type</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/dynamic.ts#L39">src/pools/thread/dynamic.ts:39</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-inherited"><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="afterWorkerSetup" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> after<wbr/>Worker<wbr/>Setup</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">after<wbr/>Worker<wbr/>Setup<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#afterWorkerSetup">afterWorkerSetup</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L80">src/pools/thread/fixed.ts:80</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="chooseWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> choose<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#chooseWorker">chooseWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L365">src/pools/abstract-pool.ts:365</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
30<p>Choose a worker for the next task.</p>
31</div><div><p>The default implementation uses a round robin algorithm to distribute the load.</p>
32</div></div><h4 class="tsd-returns-title">Returns <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><div><p>Worker.</p>
d0f1dce3 33</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="createAndSetupWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr/>And<wbr/>Setup<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">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="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#createAndSetupWorker">createAndSetupWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L419">src/pools/abstract-pool.ts:419</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
34<p>Creates a new worker for this pool and sets it up completely.</p>
35</div></div><h4 class="tsd-returns-title">Returns <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><div><p>New, completely set up worker.</p>
d0f1dce3 36</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="createWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">create<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#createWorker">createWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L73">src/pools/thread/fixed.ts:73</a></li></ul></aside><h4 class="tsd-returns-title">Returns <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="decreaseWorkersTasks" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> decrease<wbr/>Workers<wbr/>Tasks</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">decrease<wbr/>Workers<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#decreaseWorkersTasks">decreaseWorkersTasks</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L327">src/pools/abstract-pool.ts:327</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
37<p>Decrease the number of tasks that the given worker has applied.</p>
38</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
39<p>Worker whose tasks are decreased.</p>
d0f1dce3 40</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></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>destroy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">destroy<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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#destroy">destroy</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L289">src/pools/abstract-pool.ts:289</a></li></ul></aside><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></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroyWorker" class="tsd-anchor"></a><h3>destroy<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">destroy<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#destroyWorker">destroyWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul><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></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>execute</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">execute<span class="tsd-signature-symbol">(</span>data<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-symbol">: </span><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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#execute">execute</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L278">src/pools/abstract-pool.ts:278</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul><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></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeTasksMapEntry" class="tsd-anchor"></a><h3>find<wbr/>Free<wbr/>Tasks<wbr/>Map<wbr/>Entry</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">find<wbr/>Free<wbr/>Tasks<wbr/>Map<wbr/>Entry<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#findFreeTasksMapEntry">findFreeTasksMapEntry</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L267">src/pools/abstract-pool.ts:267</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="increaseWorkersTask" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> increase<wbr/>Workers<wbr/>Task</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">increase<wbr/>Workers<wbr/>Task<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#increaseWorkersTask">increaseWorkersTask</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L318">src/pools/abstract-pool.ts:318</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
41<p>Increase the number of tasks that the given worker has applied.</p>
42</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
43<p>Worker whose tasks are increased.</p>
d0f1dce3 44</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="internalExecute" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> internal<wbr/>Execute</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">internal<wbr/>Execute<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, messageId<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">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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#internalExecute">internalExecute</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L390">src/pools/abstract-pool.ts:390</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li><li><h5>messageId: <span class="tsd-signature-type">number</span></h5></li></ul><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></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="internalGetBusyStatus" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> internal<wbr/>Get<wbr/>Busy<wbr/>Status</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">internal<wbr/>Get<wbr/>Busy<wbr/>Status<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#internalGetBusyStatus">internalGetBusyStatus</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L259">src/pools/abstract-pool.ts:259</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="isMain" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr/>Main</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">is<wbr/>Main<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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#isMain">isMain</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L44">src/pools/thread/fixed.ts:44</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited"><a id="registerWorkerMessageListener" class="tsd-anchor"></a><h3>register<wbr/>Worker<wbr/>Message<wbr/>Listener</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>messageChannel<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, listener<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">Message</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><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L65">src/pools/thread/fixed.ts:65</a></li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Message</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>messageChannel: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li><li><h5>listener: <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">Message</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></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><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">Message</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></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="removeWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> remove<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#removeWorker">removeWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L351">src/pools/abstract-pool.ts:351</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
45<p>Removes the given worker from the pool.</p>
46</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
47<p>Worker that will be removed.</p>
d0f1dce3 48</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="sendToWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> send<wbr/>To<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">send<wbr/>To<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../index.html#ThreadWorkerWithMessageChannel" 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">Data</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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#sendToWorker">sendToWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L57">src/pools/thread/fixed.ts:57</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li><li><h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></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>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">(</span>workerChoiceStrategy<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setWorkerChoiceStrategy">setWorkerChoiceStrategy</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L247">src/pools/abstract-pool.ts:247</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>workerChoiceStrategy: <span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="setupHook" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> setup<wbr/>Hook</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setupHook">setupHook</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L304">src/pools/abstract-pool.ts:304</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
49<p>Setup hook that can be overridden by a Poolifier pool implementation
50to run code before workers are created in the abstract constructor.</p>
d0f1dce3 51</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="workerListener" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> worker<wbr/>Listener</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><li class="tsd-signature tsd-kind-icon">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>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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerListener">workerListener</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L443">src/pools/abstract-pool.ts:443</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
24c3fcb4
JB
52<p>This function is the listener registered for each worker.</p>
53</div></div><h4 class="tsd-returns-title">Returns <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></h4><div><p>The listener function to execute when a message is sent from a worker.</p>
54</div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"><div class="lead">
55<p>This function is the listener registered for each worker.</p>
56</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>message: <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></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div><p>The listener function to execute when a message is sent from a worker.</p>
57</div></li></ul></li></ul></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class tsd-has-type-parameter"><a href="DynamicThreadPool.html" class="tsd-kind-icon">Dynamic<wbr/>Thread<wbr/>Pool</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="DynamicThreadPool.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#filePath" class="tsd-kind-icon">file<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#max" class="tsd-kind-icon">max</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#nextMessageId" class="tsd-kind-icon">next<wbr/>Message<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#numberOfWorkers" class="tsd-kind-icon">number<wbr/>Of<wbr/>Workers</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#opts" class="tsd-kind-icon">opts</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#promiseMap" class="tsd-kind-icon">promise<wbr/>Map</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#tasks" class="tsd-kind-icon">tasks</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#workerChoiceStrategyContext" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#workers" class="tsd-kind-icon">workers</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="DynamicThreadPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#numberOfRunningTasks" class="tsd-kind-icon">number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="DynamicThreadPool.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#afterWorkerSetup" class="tsd-kind-icon">after<wbr/>Worker<wbr/>Setup</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#chooseWorker" class="tsd-kind-icon">choose<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#createAndSetupWorker" class="tsd-kind-icon">create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#createWorker" class="tsd-kind-icon">create<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#decreaseWorkersTasks" class="tsd-kind-icon">decrease<wbr/>Workers<wbr/>Tasks</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#destroyWorker" class="tsd-kind-icon">destroy<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#findFreeTasksMapEntry" class="tsd-kind-icon">find<wbr/>Free<wbr/>Tasks<wbr/>Map<wbr/>Entry</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#increaseWorkersTask" class="tsd-kind-icon">increase<wbr/>Workers<wbr/>Task</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#internalExecute" class="tsd-kind-icon">internal<wbr/>Execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#internalGetBusyStatus" class="tsd-kind-icon">internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#isMain" class="tsd-kind-icon">is<wbr/>Main</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited"><a href="DynamicThreadPool.html#registerWorkerMessageListener" class="tsd-kind-icon">register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#sendToWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#setWorkerChoiceStrategy" class="tsd-kind-icon">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#setupHook" class="tsd-kind-icon">setup<wbr/>Hook</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="DynamicThreadPool.html#workerListener" class="tsd-kind-icon">worker<wbr/>Listener</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>