Integrate typedoc to generate code documentation. (#236)
[poolifier.git] / docs / classes / fixedclusterpool.html
1 <!doctype html>
2 <html class="default no-js">
3 <head>
4 <meta charset="utf-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <title>FixedClusterPool | poolifier</title>
7 <meta name="description" content="Documentation for poolifier">
8 <meta name="viewport" content="width=device-width, initial-scale=1">
9 <link rel="stylesheet" href="../assets/css/main.css">
10 <script async src="../assets/js/search.js" id="search-script"></script>
11 </head>
12 <body>
13 <header>
14 <div class="tsd-page-toolbar">
15 <div class="container">
16 <div class="table-wrap">
17 <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
18 <div class="field">
19 <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
20 <input id="tsd-search-field" type="text" />
21 </div>
22 <ul class="results">
23 <li class="state loading">Preparing search index...</li>
24 <li class="state failure">The search index is not available</li>
25 </ul>
26 <a href="../index.html" class="title">poolifier</a>
27 </div>
28 <div class="table-cell" id="tsd-widgets">
29 <div id="tsd-filter">
30 <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
31 <div class="tsd-filter-group">
32 <div class="tsd-select" id="tsd-filter-visibility">
33 <span class="tsd-select-label">All</span>
34 <ul class="tsd-select-list">
35 <li data-value="public">Public</li>
36 <li data-value="protected">Public/Protected</li>
37 <li data-value="private" class="selected">All</li>
38 </ul>
39 </div>
40 <input type="checkbox" id="tsd-filter-inherited" checked />
41 <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
42 <input type="checkbox" id="tsd-filter-externals" checked />
43 <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
44 </div>
45 </div>
46 <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
47 </div>
48 </div>
49 </div>
50 </div>
51 <div class="tsd-page-title">
52 <div class="container">
53 <ul class="tsd-breadcrumb">
54 <li>
55 <a href="../index.html">poolifier</a>
56 </li>
57 <li>
58 <a href="fixedclusterpool.html">FixedClusterPool</a>
59 </li>
60 </ul>
61 <h1>Class FixedClusterPool&lt;Data, Response&gt;</h1>
62 </div>
63 </div>
64 </header>
65 <div class="container container-main">
66 <div class="row">
67 <div class="col-8 col-content">
68 <section class="tsd-panel tsd-comment">
69 <div class="tsd-comment tsd-typography">
70 <div class="lead">
71 <p>A cluster pool with a fixed number of workers.</p>
72 </div>
73 <p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
74 <p>This pool selects the workers in a round robin fashion.</p>
75 <dl class="tsd-comment-tags">
76 <dt>author</dt>
77 <dd><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
78 </dd>
79 <dt>since</dt>
80 <dd><p>2.0.0</p>
81 </dd>
82 </dl>
83 </div>
84 </section>
85 <section class="tsd-panel tsd-type-parameters">
86 <h3>Type parameters</h3>
87 <ul class="tsd-type-parameters">
88 <li>
89 <h4>Data = <span class="tsd-signature-type">unknown</span></h4>
90 <div class="tsd-comment tsd-typography">
91 <div class="lead">
92 <p>Type of data sent to the worker. This can only be serializable data.</p>
93 </div>
94 </div>
95 </li>
96 <li>
97 <h4>Response = <span class="tsd-signature-type">unknown</span></h4>
98 <div class="tsd-comment tsd-typography">
99 <div class="lead">
100 <p>Type of response of execution. This can only be serializable data.</p>
101 </div>
102 </div>
103 </li>
104 </ul>
105 </section>
106 <section class="tsd-panel tsd-hierarchy">
107 <h3>Hierarchy</h3>
108 <ul class="tsd-hierarchy">
109 <li>
110 <span class="tsd-signature-type">AbstractPool</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">&gt;</span>
111 <ul class="tsd-hierarchy">
112 <li>
113 <span class="target">FixedClusterPool</span>
114 <ul class="tsd-hierarchy">
115 <li>
116 <a href="dynamicclusterpool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</a>
117 </li>
118 </ul>
119 </li>
120 </ul>
121 </li>
122 </ul>
123 </section>
124 <section class="tsd-panel-group tsd-index-group">
125 <h2>Index</h2>
126 <section class="tsd-panel tsd-index-panel">
127 <div class="tsd-index-content">
128 <section class="tsd-index-section ">
129 <h3>Constructors</h3>
130 <ul class="tsd-index-list">
131 <li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter"><a href="fixedclusterpool.html#constructor" class="tsd-kind-icon">constructor</a></li>
132 </ul>
133 </section>
134 <section class="tsd-index-section ">
135 <h3>Properties</h3>
136 <ul class="tsd-index-list">
137 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#emitter" class="tsd-kind-icon">emitter</a></li>
138 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#filepath" class="tsd-kind-icon">file<wbr>Path</a></li>
139 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#nextmessageid" class="tsd-kind-icon">next<wbr>Message<wbr>Id</a></li>
140 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#numberofworkers" class="tsd-kind-icon">number<wbr>OfWorkers</a></li>
141 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#opts" class="tsd-kind-icon">opts</a></li>
142 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#promisemap" class="tsd-kind-icon">promise<wbr>Map</a></li>
143 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#tasks" class="tsd-kind-icon">tasks</a></li>
144 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#workerchoicestrategycontext" class="tsd-kind-icon">worker<wbr>Choice<wbr>Strategy<wbr>Context</a></li>
145 <li class="tsd-kind-property tsd-parent-kind-class"><a href="fixedclusterpool.html#workers" class="tsd-kind-icon">workers</a></li>
146 </ul>
147 </section>
148 <section class="tsd-index-section ">
149 <h3>Accessors</h3>
150 <ul class="tsd-index-list">
151 <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="fixedclusterpool.html#dynamic" class="tsd-kind-icon">dynamic</a></li>
152 </ul>
153 </section>
154 <section class="tsd-index-section ">
155 <h3>Methods</h3>
156 <ul class="tsd-index-list">
157 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#afterworkersetup" class="tsd-kind-icon">after<wbr>Worker<wbr>Setup</a></li>
158 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#chooseworker" class="tsd-kind-icon">choose<wbr>Worker</a></li>
159 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#createandsetupworker" class="tsd-kind-icon">create<wbr>And<wbr>Setup<wbr>Worker</a></li>
160 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#createworker" class="tsd-kind-icon">create<wbr>Worker</a></li>
161 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#decreaseworkerstasks" class="tsd-kind-icon">decrease<wbr>Workers<wbr>Tasks</a></li>
162 <li class="tsd-kind-method tsd-parent-kind-class"><a href="fixedclusterpool.html#destroy" class="tsd-kind-icon">destroy</a></li>
163 <li class="tsd-kind-method tsd-parent-kind-class"><a href="fixedclusterpool.html#destroyworker" class="tsd-kind-icon">destroy<wbr>Worker</a></li>
164 <li class="tsd-kind-method tsd-parent-kind-class"><a href="fixedclusterpool.html#execute" class="tsd-kind-icon">execute</a></li>
165 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#increaseworkerstask" class="tsd-kind-icon">increase<wbr>Workers<wbr>Task</a></li>
166 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#internalexecute" class="tsd-kind-icon">internal<wbr>Execute</a></li>
167 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#ismain" class="tsd-kind-icon">is<wbr>Main</a></li>
168 <li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter"><a href="fixedclusterpool.html#registerworkermessagelistener" class="tsd-kind-icon">register<wbr>Worker<wbr>Message<wbr>Listener</a></li>
169 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#removeworker" class="tsd-kind-icon">remove<wbr>Worker</a></li>
170 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#sendtoworker" class="tsd-kind-icon">send<wbr>ToWorker</a></li>
171 <li class="tsd-kind-method tsd-parent-kind-class"><a href="fixedclusterpool.html#setworkerchoicestrategy" class="tsd-kind-icon">set<wbr>Worker<wbr>Choice<wbr>Strategy</a></li>
172 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#setuphook" class="tsd-kind-icon">setup<wbr>Hook</a></li>
173 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="fixedclusterpool.html#workerlistener" class="tsd-kind-icon">worker<wbr>Listener</a></li>
174 </ul>
175 </section>
176 </div>
177 </section>
178 </section>
179 <section class="tsd-panel-group tsd-member-group ">
180 <h2>Constructors</h2>
181 <section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter">
182 <a name="constructor" class="tsd-anchor"></a>
183 <h3>constructor</h3>
184 <ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter">
185 <li class="tsd-signature tsd-kind-icon">new <wbr>Fixed<wbr>Cluster<wbr>Pool&lt;Data, Response&gt;<span class="tsd-signature-symbol">(</span>numberOfWorkers<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/clusterpooloptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="fixedclusterpool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedClusterPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">&gt;</span></li>
186 </ul>
187 <ul class="tsd-descriptions">
188 <li class="tsd-description">
189 <aside class="tsd-sources">
190 <ul>
191 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L35">src/pools/cluster/fixed.ts:35</a></li>
192 </ul>
193 </aside>
194 <div class="tsd-comment tsd-typography">
195 <div class="lead">
196 <p>Constructs a new poolifier fixed cluster pool.</p>
197 </div>
198 </div>
199 <h4 class="tsd-type-parameters-title">Type parameters</h4>
200 <ul class="tsd-type-parameters">
201 <li>
202 <h4>Data = <span class="tsd-signature-type">unknown</span></h4>
203 </li>
204 <li>
205 <h4>Response = <span class="tsd-signature-type">unknown</span></h4>
206 </li>
207 </ul>
208 <h4 class="tsd-parameters-title">Parameters</h4>
209 <ul class="tsd-parameters">
210 <li>
211 <h5>numberOfWorkers: <span class="tsd-signature-type">number</span></h5>
212 <div class="tsd-comment tsd-typography">
213 <p>Number of workers for this pool.</p>
214 </div>
215 </li>
216 <li>
217 <h5>filePath: <span class="tsd-signature-type">string</span></h5>
218 <div class="tsd-comment tsd-typography">
219 <p>Path to an implementation of a <code>ClusterWorker</code> file, which can be relative or absolute.</p>
220 </div>
221 </li>
222 <li>
223 <h5>opts: <a href="../interfaces/clusterpooloptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = ...</span></h5>
224 <div class="tsd-comment tsd-typography">
225 <p>Options for this fixed cluster pool. Default: <code>{}</code></p>
226 </div>
227 </li>
228 </ul>
229 <h4 class="tsd-returns-title">Returns <a href="fixedclusterpool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedClusterPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">&gt;</span></h4>
230 </li>
231 </ul>
232 </section>
233 </section>
234 <section class="tsd-panel-group tsd-member-group ">
235 <h2>Properties</h2>
236 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
237 <a name="emitter" class="tsd-anchor"></a>
238 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> emitter</h3>
239 <div class="tsd-signature tsd-kind-icon">emitter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PoolEmitter</span></div>
240 <aside class="tsd-sources">
241 <ul>
242 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L111">src/pools/abstract-pool.ts:111</a></li>
243 </ul>
244 </aside>
245 <div class="tsd-comment tsd-typography">
246 <dl class="tsd-comment-tags">
247 <dt>inheritdoc</dt>
248 <dd></dd>
249 </dl>
250 </div>
251 </section>
252 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
253 <a name="filepath" class="tsd-anchor"></a>
254 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> file<wbr>Path</h3>
255 <div class="tsd-signature tsd-kind-icon">file<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
256 <aside class="tsd-sources">
257 </aside>
258 </section>
259 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected">
260 <a name="nextmessageid" class="tsd-anchor"></a>
261 <h3><span class="tsd-flag ts-flagProtected">Protected</span> next<wbr>Message<wbr>Id</h3>
262 <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>
263 <aside class="tsd-sources">
264 <ul>
265 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L129">src/pools/abstract-pool.ts:129</a></li>
266 </ul>
267 </aside>
268 <div class="tsd-comment tsd-typography">
269 <div class="lead">
270 <p>ID of the next message.</p>
271 </div>
272 </div>
273 </section>
274 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
275 <a name="numberofworkers" class="tsd-anchor"></a>
276 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> number<wbr>OfWorkers</h3>
277 <div class="tsd-signature tsd-kind-icon">number<wbr>OfWorkers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
278 <aside class="tsd-sources">
279 </aside>
280 </section>
281 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
282 <a name="opts" class="tsd-anchor"></a>
283 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> opts</h3>
284 <div class="tsd-signature tsd-kind-icon">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/clusterpooloptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = ...</span></div>
285 <aside class="tsd-sources">
286 </aside>
287 </section>
288 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected">
289 <a name="promisemap" class="tsd-anchor"></a>
290 <h3><span class="tsd-flag ts-flagProtected">Protected</span> promise<wbr>Map</h3>
291 <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><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div>
292 <aside class="tsd-sources">
293 <ul>
294 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L121">src/pools/abstract-pool.ts:121</a></li>
295 </ul>
296 </aside>
297 <div class="tsd-comment tsd-typography">
298 <div class="lead">
299 <p>The promise map.</p>
300 </div>
301 <ul>
302 <li><code>key</code>: This is the message ID of each submitted task.</li>
303 <li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
304 </ul>
305 <p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
306 </div>
307 </section>
308 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
309 <a name="tasks" class="tsd-anchor"></a>
310 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> tasks</h3>
311 <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><span class="tsd-signature-type">Worker</span><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>
312 <aside class="tsd-sources">
313 <ul>
314 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L108">src/pools/abstract-pool.ts:108</a></li>
315 </ul>
316 </aside>
317 <div class="tsd-comment tsd-typography">
318 <dl class="tsd-comment-tags">
319 <dt>inheritdoc</dt>
320 <dd></dd>
321 </dl>
322 </div>
323 </section>
324 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected">
325 <a name="workerchoicestrategycontext" class="tsd-anchor"></a>
326 <h3><span class="tsd-flag ts-flagProtected">Protected</span> worker<wbr>Choice<wbr>Strategy<wbr>Context</h3>
327 <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><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">&gt;</span></div>
328 <aside class="tsd-sources">
329 <ul>
330 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L136">src/pools/abstract-pool.ts:136</a></li>
331 </ul>
332 </aside>
333 <div class="tsd-comment tsd-typography">
334 <div class="lead">
335 <p>Worker choice strategy instance implementing the worker choice algorithm.</p>
336 </div>
337 <p>Default to a strategy implementing a round robin algorithm.</p>
338 </div>
339 </section>
340 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
341 <a name="workers" class="tsd-anchor"></a>
342 <h3><span class="tsd-flag ts-flagReadonly">Readonly</span> workers</h3>
343 <div class="tsd-signature tsd-kind-icon">workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = ...</span></div>
344 <aside class="tsd-sources">
345 <ul>
346 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L105">src/pools/abstract-pool.ts:105</a></li>
347 </ul>
348 </aside>
349 <div class="tsd-comment tsd-typography">
350 <dl class="tsd-comment-tags">
351 <dt>inheritdoc</dt>
352 <dd></dd>
353 </dl>
354 </div>
355 </section>
356 </section>
357 <section class="tsd-panel-group tsd-member-group ">
358 <h2>Accessors</h2>
359 <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
360 <a name="dynamic" class="tsd-anchor"></a>
361 <h3>dynamic</h3>
362 <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
363 <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> dynamic<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>
364 </ul>
365 <ul class="tsd-descriptions">
366 <li class="tsd-description">
367 <aside class="tsd-sources">
368 <ul>
369 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L211">src/pools/abstract-pool.ts:211</a></li>
370 </ul>
371 </aside>
372 <div class="tsd-comment tsd-typography">
373 <dl class="tsd-comment-tags">
374 <dt>inheritdoc</dt>
375 <dd></dd>
376 </dl>
377 </div>
378 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
379 </li>
380 </ul>
381 </section>
382 </section>
383 <section class="tsd-panel-group tsd-member-group ">
384 <h2>Methods</h2>
385 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
386 <a name="afterworkersetup" class="tsd-anchor"></a>
387 <h3><span class="tsd-flag ts-flagProtected">Protected</span> after<wbr>Worker<wbr>Setup</h3>
388 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
389 <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><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
390 </ul>
391 <ul class="tsd-descriptions">
392 <li class="tsd-description">
393 <aside class="tsd-sources">
394 <ul>
395 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L83">src/pools/cluster/fixed.ts:83</a></li>
396 </ul>
397 </aside>
398 <h4 class="tsd-parameters-title">Parameters</h4>
399 <ul class="tsd-parameters">
400 <li>
401 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
402 </li>
403 </ul>
404 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
405 </li>
406 </ul>
407 </section>
408 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
409 <a name="chooseworker" class="tsd-anchor"></a>
410 <h3><span class="tsd-flag ts-flagProtected">Protected</span> choose<wbr>Worker</h3>
411 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
412 <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><span class="tsd-signature-type">Worker</span></li>
413 </ul>
414 <ul class="tsd-descriptions">
415 <li class="tsd-description">
416 <aside class="tsd-sources">
417 <ul>
418 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L313">src/pools/abstract-pool.ts:313</a></li>
419 </ul>
420 </aside>
421 <div class="tsd-comment tsd-typography">
422 <div class="lead">
423 <p>Choose a worker for the next task.</p>
424 </div>
425 <p>The default implementation uses a round robin algorithm to distribute the load.</p>
426 </div>
427 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4>
428 <p>Worker.</p>
429 </li>
430 </ul>
431 </section>
432 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
433 <a name="createandsetupworker" class="tsd-anchor"></a>
434 <h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr>And<wbr>Setup<wbr>Worker</h3>
435 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
436 <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><span class="tsd-signature-type">Worker</span></li>
437 </ul>
438 <ul class="tsd-descriptions">
439 <li class="tsd-description">
440 <aside class="tsd-sources">
441 <ul>
442 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L366">src/pools/abstract-pool.ts:366</a></li>
443 </ul>
444 </aside>
445 <div class="tsd-comment tsd-typography">
446 <div class="lead">
447 <p>Creates a new worker for this pool and sets it up completely.</p>
448 </div>
449 </div>
450 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4>
451 <p>New, completely set up worker.</p>
452 </li>
453 </ul>
454 </section>
455 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
456 <a name="createworker" class="tsd-anchor"></a>
457 <h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr>Worker</h3>
458 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
459 <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><span class="tsd-signature-type">Worker</span></li>
460 </ul>
461 <ul class="tsd-descriptions">
462 <li class="tsd-description">
463 <aside class="tsd-sources">
464 <ul>
465 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L79">src/pools/cluster/fixed.ts:79</a></li>
466 </ul>
467 </aside>
468 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4>
469 </li>
470 </ul>
471 </section>
472 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
473 <a name="decreaseworkerstasks" class="tsd-anchor"></a>
474 <h3><span class="tsd-flag ts-flagProtected">Protected</span> decrease<wbr>Workers<wbr>Tasks</h3>
475 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
476 <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><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
477 </ul>
478 <ul class="tsd-descriptions">
479 <li class="tsd-description">
480 <aside class="tsd-sources">
481 <ul>
482 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L275">src/pools/abstract-pool.ts:275</a></li>
483 </ul>
484 </aside>
485 <div class="tsd-comment tsd-typography">
486 <div class="lead">
487 <p>Decrease the number of tasks that the given workers has done.</p>
488 </div>
489 </div>
490 <h4 class="tsd-parameters-title">Parameters</h4>
491 <ul class="tsd-parameters">
492 <li>
493 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
494 <div class="tsd-comment tsd-typography">
495 <p>Worker whose tasks are decreased.</p>
496 </div>
497 </li>
498 </ul>
499 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
500 </li>
501 </ul>
502 </section>
503 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
504 <a name="destroy" class="tsd-anchor"></a>
505 <h3>destroy</h3>
506 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
507 <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>
508 </ul>
509 <ul class="tsd-descriptions">
510 <li class="tsd-description">
511 <aside class="tsd-sources">
512 <ul>
513 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li>
514 </ul>
515 </aside>
516 <div class="tsd-comment tsd-typography">
517 <dl class="tsd-comment-tags">
518 <dt>inheritdoc</dt>
519 <dd></dd>
520 </dl>
521 </div>
522 <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>
523 </li>
524 </ul>
525 </section>
526 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
527 <a name="destroyworker" class="tsd-anchor"></a>
528 <h3>destroy<wbr>Worker</h3>
529 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
530 <li class="tsd-signature tsd-kind-icon">destroy<wbr>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
531 </ul>
532 <ul class="tsd-descriptions">
533 <li class="tsd-description">
534 <aside class="tsd-sources">
535 <ul>
536 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L62">src/pools/cluster/fixed.ts:62</a></li>
537 </ul>
538 </aside>
539 <div class="tsd-comment tsd-typography">
540 <dl class="tsd-comment-tags">
541 <dt>inheritdoc</dt>
542 <dd></dd>
543 </dl>
544 </div>
545 <h4 class="tsd-parameters-title">Parameters</h4>
546 <ul class="tsd-parameters">
547 <li>
548 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
549 </li>
550 </ul>
551 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
552 </li>
553 </ul>
554 </section>
555 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
556 <a name="execute" class="tsd-anchor"></a>
557 <h3>execute</h3>
558 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
559 <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</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">Response</span><span class="tsd-signature-symbol">&gt;</span></li>
560 </ul>
561 <ul class="tsd-descriptions">
562 <li class="tsd-description">
563 <aside class="tsd-sources">
564 <ul>
565 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L226">src/pools/abstract-pool.ts:226</a></li>
566 </ul>
567 </aside>
568 <div class="tsd-comment tsd-typography">
569 <dl class="tsd-comment-tags">
570 <dt>inheritdoc</dt>
571 <dd></dd>
572 </dl>
573 </div>
574 <h4 class="tsd-parameters-title">Parameters</h4>
575 <ul class="tsd-parameters">
576 <li>
577 <h5>data: <span class="tsd-signature-type">Data</span></h5>
578 </li>
579 </ul>
580 <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">Response</span><span class="tsd-signature-symbol">&gt;</span></h4>
581 </li>
582 </ul>
583 </section>
584 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
585 <a name="increaseworkerstask" class="tsd-anchor"></a>
586 <h3><span class="tsd-flag ts-flagProtected">Protected</span> increase<wbr>Workers<wbr>Task</h3>
587 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
588 <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><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
589 </ul>
590 <ul class="tsd-descriptions">
591 <li class="tsd-description">
592 <aside class="tsd-sources">
593 <ul>
594 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L266">src/pools/abstract-pool.ts:266</a></li>
595 </ul>
596 </aside>
597 <div class="tsd-comment tsd-typography">
598 <div class="lead">
599 <p>Increase the number of tasks that the given workers has done.</p>
600 </div>
601 </div>
602 <h4 class="tsd-parameters-title">Parameters</h4>
603 <ul class="tsd-parameters">
604 <li>
605 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
606 <div class="tsd-comment tsd-typography">
607 <p>Worker whose tasks are increased.</p>
608 </div>
609 </li>
610 </ul>
611 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
612 </li>
613 </ul>
614 </section>
615 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
616 <a name="internalexecute" class="tsd-anchor"></a>
617 <h3><span class="tsd-flag ts-flagProtected">Protected</span> internal<wbr>Execute</h3>
618 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
619 <li class="tsd-signature tsd-kind-icon">internal<wbr>Execute<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span>, 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">Response</span><span class="tsd-signature-symbol">&gt;</span></li>
620 </ul>
621 <ul class="tsd-descriptions">
622 <li class="tsd-description">
623 <aside class="tsd-sources">
624 <ul>
625 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L338">src/pools/abstract-pool.ts:338</a></li>
626 </ul>
627 </aside>
628 <h4 class="tsd-parameters-title">Parameters</h4>
629 <ul class="tsd-parameters">
630 <li>
631 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
632 </li>
633 <li>
634 <h5>messageId: <span class="tsd-signature-type">number</span></h5>
635 </li>
636 </ul>
637 <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">Response</span><span class="tsd-signature-symbol">&gt;</span></h4>
638 </li>
639 </ul>
640 </section>
641 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
642 <a name="ismain" class="tsd-anchor"></a>
643 <h3><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr>Main</h3>
644 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
645 <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>
646 </ul>
647 <ul class="tsd-descriptions">
648 <li class="tsd-description">
649 <aside class="tsd-sources">
650 <ul>
651 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L57">src/pools/cluster/fixed.ts:57</a></li>
652 </ul>
653 </aside>
654 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
655 </li>
656 </ul>
657 </section>
658 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
659 <a name="registerworkermessagelistener" class="tsd-anchor"></a>
660 <h3>register<wbr>Worker<wbr>Message<wbr>Listener</h3>
661 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
662 <li class="tsd-signature tsd-kind-icon">register<wbr>Worker<wbr>Message<wbr>Listener&lt;Message&gt;<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span>, 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">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>
663 </ul>
664 <ul class="tsd-descriptions">
665 <li class="tsd-description">
666 <aside class="tsd-sources">
667 <ul>
668 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L72">src/pools/cluster/fixed.ts:72</a></li>
669 </ul>
670 </aside>
671 <div class="tsd-comment tsd-typography">
672 <dl class="tsd-comment-tags">
673 <dt>inheritdoc</dt>
674 <dd></dd>
675 </dl>
676 </div>
677 <h4 class="tsd-type-parameters-title">Type parameters</h4>
678 <ul class="tsd-type-parameters">
679 <li>
680 <h4>Message</h4>
681 </li>
682 </ul>
683 <h4 class="tsd-parameters-title">Parameters</h4>
684 <ul class="tsd-parameters">
685 <li>
686 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
687 </li>
688 <li>
689 <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">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>
690 <ul class="tsd-parameters">
691 <li class="tsd-parameter-signature">
692 <ul class="tsd-signatures tsd-kind-type-literal">
693 <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">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>
694 </ul>
695 <ul class="tsd-descriptions">
696 <li class="tsd-description">
697 <h4 class="tsd-parameters-title">Parameters</h4>
698 <ul class="tsd-parameters">
699 <li>
700 <h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Message</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5>
701 </li>
702 </ul>
703 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
704 </li>
705 </ul>
706 </li>
707 </ul>
708 </li>
709 </ul>
710 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
711 </li>
712 </ul>
713 </section>
714 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
715 <a name="removeworker" class="tsd-anchor"></a>
716 <h3><span class="tsd-flag ts-flagProtected">Protected</span> remove<wbr>Worker</h3>
717 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
718 <li class="tsd-signature tsd-kind-icon">remove<wbr>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
719 </ul>
720 <ul class="tsd-descriptions">
721 <li class="tsd-description">
722 <aside class="tsd-sources">
723 <ul>
724 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L299">src/pools/abstract-pool.ts:299</a></li>
725 </ul>
726 </aside>
727 <div class="tsd-comment tsd-typography">
728 <div class="lead">
729 <p>Removes the given worker from the pool.</p>
730 </div>
731 </div>
732 <h4 class="tsd-parameters-title">Parameters</h4>
733 <ul class="tsd-parameters">
734 <li>
735 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
736 <div class="tsd-comment tsd-typography">
737 <p>Worker that will be removed.</p>
738 </div>
739 </li>
740 </ul>
741 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
742 </li>
743 </ul>
744 </section>
745 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
746 <a name="sendtoworker" class="tsd-anchor"></a>
747 <h3><span class="tsd-flag ts-flagProtected">Protected</span> send<wbr>ToWorker</h3>
748 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
749 <li class="tsd-signature tsd-kind-icon">send<wbr>ToWorker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</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</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>
750 </ul>
751 <ul class="tsd-descriptions">
752 <li class="tsd-description">
753 <aside class="tsd-sources">
754 <ul>
755 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L67">src/pools/cluster/fixed.ts:67</a></li>
756 </ul>
757 </aside>
758 <h4 class="tsd-parameters-title">Parameters</h4>
759 <ul class="tsd-parameters">
760 <li>
761 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
762 </li>
763 <li>
764 <h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5>
765 </li>
766 </ul>
767 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
768 </li>
769 </ul>
770 </section>
771 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
772 <a name="setworkerchoicestrategy" class="tsd-anchor"></a>
773 <h3>set<wbr>Worker<wbr>Choice<wbr>Strategy</h3>
774 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
775 <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>
776 </ul>
777 <ul class="tsd-descriptions">
778 <li class="tsd-description">
779 <aside class="tsd-sources">
780 <ul>
781 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L216">src/pools/abstract-pool.ts:216</a></li>
782 </ul>
783 </aside>
784 <div class="tsd-comment tsd-typography">
785 <dl class="tsd-comment-tags">
786 <dt>inheritdoc</dt>
787 <dd></dd>
788 </dl>
789 </div>
790 <h4 class="tsd-parameters-title">Parameters</h4>
791 <ul class="tsd-parameters">
792 <li>
793 <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>
794 </li>
795 </ul>
796 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
797 </li>
798 </ul>
799 </section>
800 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
801 <a name="setuphook" class="tsd-anchor"></a>
802 <h3><span class="tsd-flag ts-flagProtected">Protected</span> setup<wbr>Hook</h3>
803 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
804 <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>
805 </ul>
806 <ul class="tsd-descriptions">
807 <li class="tsd-description">
808 <aside class="tsd-sources">
809 <ul>
810 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/cluster/fixed.ts#L51">src/pools/cluster/fixed.ts:51</a></li>
811 </ul>
812 </aside>
813 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
814 </li>
815 </ul>
816 </section>
817 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
818 <a name="workerlistener" class="tsd-anchor"></a>
819 <h3><span class="tsd-flag ts-flagProtected">Protected</span> worker<wbr>Listener</h3>
820 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
821 <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">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>
822 </ul>
823 <ul class="tsd-descriptions">
824 <li class="tsd-description">
825 <aside class="tsd-sources">
826 <ul>
827 <li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/5d4101b/src/pools/abstract-pool.ts#L389">src/pools/abstract-pool.ts:389</a></li>
828 </ul>
829 </aside>
830 <div class="tsd-comment tsd-typography">
831 <div class="lead">
832 <p>This function is the listener registered for each worker.</p>
833 </div>
834 </div>
835 <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">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>
836 <p>The listener function to execute when a message is sent from a worker.</p>
837 <ul class="tsd-parameters">
838 <li class="tsd-parameter-signature">
839 <ul class="tsd-signatures tsd-kind-type-literal">
840 <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">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>
841 </ul>
842 <ul class="tsd-descriptions">
843 <li class="tsd-description">
844 <h4 class="tsd-parameters-title">Parameters</h4>
845 <ul class="tsd-parameters">
846 <li>
847 <h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5>
848 </li>
849 </ul>
850 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
851 </li>
852 </ul>
853 </li>
854 </ul>
855 </li>
856 </ul>
857 </section>
858 </section>
859 </div>
860 <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
861 <nav class="tsd-navigation primary">
862 <ul>
863 <li class=" ">
864 <a href="../index.html">Exports</a>
865 </li>
866 </ul>
867 </nav>
868 <nav class="tsd-navigation secondary menu-sticky">
869 <ul class="before-current">
870 <li class=" tsd-kind-class tsd-has-type-parameter">
871 <a href="abstractworker.html" class="tsd-kind-icon">Abstract<wbr>Worker</a>
872 </li>
873 <li class=" tsd-kind-class tsd-has-type-parameter">
874 <a href="clusterworker.html" class="tsd-kind-icon">Cluster<wbr>Worker</a>
875 </li>
876 <li class=" tsd-kind-class tsd-has-type-parameter">
877 <a href="dynamicclusterpool.html" class="tsd-kind-icon">Dynamic<wbr>Cluster<wbr>Pool</a>
878 </li>
879 <li class=" tsd-kind-class tsd-has-type-parameter">
880 <a href="dynamicthreadpool.html" class="tsd-kind-icon">Dynamic<wbr>Thread<wbr>Pool</a>
881 </li>
882 </ul>
883 <ul class="current">
884 <li class="current tsd-kind-class tsd-has-type-parameter">
885 <a href="fixedclusterpool.html" class="tsd-kind-icon">Fixed<wbr>Cluster<wbr>Pool</a>
886 <ul>
887 <li class=" tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter">
888 <a href="fixedclusterpool.html#constructor" class="tsd-kind-icon">constructor</a>
889 </li>
890 <li class=" tsd-kind-property tsd-parent-kind-class">
891 <a href="fixedclusterpool.html#emitter" class="tsd-kind-icon">emitter</a>
892 </li>
893 <li class=" tsd-kind-property tsd-parent-kind-class">
894 <a href="fixedclusterpool.html#filepath" class="tsd-kind-icon">file<wbr>Path</a>
895 </li>
896 <li class=" tsd-kind-property tsd-parent-kind-class tsd-is-protected">
897 <a href="fixedclusterpool.html#nextmessageid" class="tsd-kind-icon">next<wbr>Message<wbr>Id</a>
898 </li>
899 <li class=" tsd-kind-property tsd-parent-kind-class">
900 <a href="fixedclusterpool.html#numberofworkers" class="tsd-kind-icon">number<wbr>OfWorkers</a>
901 </li>
902 <li class=" tsd-kind-property tsd-parent-kind-class">
903 <a href="fixedclusterpool.html#opts" class="tsd-kind-icon">opts</a>
904 </li>
905 <li class=" tsd-kind-property tsd-parent-kind-class tsd-is-protected">
906 <a href="fixedclusterpool.html#promisemap" class="tsd-kind-icon">promise<wbr>Map</a>
907 </li>
908 <li class=" tsd-kind-property tsd-parent-kind-class">
909 <a href="fixedclusterpool.html#tasks" class="tsd-kind-icon">tasks</a>
910 </li>
911 <li class=" tsd-kind-property tsd-parent-kind-class tsd-is-protected">
912 <a href="fixedclusterpool.html#workerchoicestrategycontext" class="tsd-kind-icon">worker<wbr>Choice<wbr>Strategy<wbr>Context</a>
913 </li>
914 <li class=" tsd-kind-property tsd-parent-kind-class">
915 <a href="fixedclusterpool.html#workers" class="tsd-kind-icon">workers</a>
916 </li>
917 <li class=" tsd-kind-get-signature tsd-parent-kind-class">
918 <a href="fixedclusterpool.html#dynamic" class="tsd-kind-icon">dynamic</a>
919 </li>
920 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
921 <a href="fixedclusterpool.html#afterworkersetup" class="tsd-kind-icon">after<wbr>Worker<wbr>Setup</a>
922 </li>
923 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
924 <a href="fixedclusterpool.html#chooseworker" class="tsd-kind-icon">choose<wbr>Worker</a>
925 </li>
926 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
927 <a href="fixedclusterpool.html#createandsetupworker" class="tsd-kind-icon">create<wbr>And<wbr>Setup<wbr>Worker</a>
928 </li>
929 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
930 <a href="fixedclusterpool.html#createworker" class="tsd-kind-icon">create<wbr>Worker</a>
931 </li>
932 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
933 <a href="fixedclusterpool.html#decreaseworkerstasks" class="tsd-kind-icon">decrease<wbr>Workers<wbr>Tasks</a>
934 </li>
935 <li class=" tsd-kind-method tsd-parent-kind-class">
936 <a href="fixedclusterpool.html#destroy" class="tsd-kind-icon">destroy</a>
937 </li>
938 <li class=" tsd-kind-method tsd-parent-kind-class">
939 <a href="fixedclusterpool.html#destroyworker" class="tsd-kind-icon">destroy<wbr>Worker</a>
940 </li>
941 <li class=" tsd-kind-method tsd-parent-kind-class">
942 <a href="fixedclusterpool.html#execute" class="tsd-kind-icon">execute</a>
943 </li>
944 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
945 <a href="fixedclusterpool.html#increaseworkerstask" class="tsd-kind-icon">increase<wbr>Workers<wbr>Task</a>
946 </li>
947 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
948 <a href="fixedclusterpool.html#internalexecute" class="tsd-kind-icon">internal<wbr>Execute</a>
949 </li>
950 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
951 <a href="fixedclusterpool.html#ismain" class="tsd-kind-icon">is<wbr>Main</a>
952 </li>
953 <li class=" tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
954 <a href="fixedclusterpool.html#registerworkermessagelistener" class="tsd-kind-icon">register<wbr>Worker<wbr>Message<wbr>Listener</a>
955 </li>
956 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
957 <a href="fixedclusterpool.html#removeworker" class="tsd-kind-icon">remove<wbr>Worker</a>
958 </li>
959 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
960 <a href="fixedclusterpool.html#sendtoworker" class="tsd-kind-icon">send<wbr>ToWorker</a>
961 </li>
962 <li class=" tsd-kind-method tsd-parent-kind-class">
963 <a href="fixedclusterpool.html#setworkerchoicestrategy" class="tsd-kind-icon">set<wbr>Worker<wbr>Choice<wbr>Strategy</a>
964 </li>
965 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
966 <a href="fixedclusterpool.html#setuphook" class="tsd-kind-icon">setup<wbr>Hook</a>
967 </li>
968 <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
969 <a href="fixedclusterpool.html#workerlistener" class="tsd-kind-icon">worker<wbr>Listener</a>
970 </li>
971 </ul>
972 </li>
973 </ul>
974 <ul class="after-current">
975 <li class=" tsd-kind-class tsd-has-type-parameter">
976 <a href="fixedthreadpool.html" class="tsd-kind-icon">Fixed<wbr>Thread<wbr>Pool</a>
977 </li>
978 <li class=" tsd-kind-class tsd-has-type-parameter">
979 <a href="threadworker.html" class="tsd-kind-icon">Thread<wbr>Worker</a>
980 </li>
981 <li class=" tsd-kind-interface">
982 <a href="../interfaces/clusterpooloptions.html" class="tsd-kind-icon">Cluster<wbr>Pool<wbr>Options</a>
983 </li>
984 <li class=" tsd-kind-interface tsd-has-type-parameter">
985 <a href="../interfaces/ipool.html" class="tsd-kind-icon">IPool</a>
986 </li>
987 <li class=" tsd-kind-interface">
988 <a href="../interfaces/iworker.html" class="tsd-kind-icon">IWorker</a>
989 </li>
990 <li class=" tsd-kind-interface tsd-has-type-parameter">
991 <a href="../interfaces/pooloptions.html" class="tsd-kind-icon">Pool<wbr>Options</a>
992 </li>
993 <li class=" tsd-kind-interface">
994 <a href="../interfaces/workeroptions.html" class="tsd-kind-icon">Worker<wbr>Options</a>
995 </li>
996 <li class=" tsd-kind-type-alias tsd-has-type-parameter">
997 <a href="../index.html#errorhandler" class="tsd-kind-icon">Error<wbr>Handler</a>
998 </li>
999 <li class=" tsd-kind-type-alias tsd-has-type-parameter">
1000 <a href="../index.html#exithandler" class="tsd-kind-icon">Exit<wbr>Handler</a>
1001 </li>
1002 <li class=" tsd-kind-type-alias">
1003 <a href="../index.html#killbehavior" class="tsd-kind-icon">Kill<wbr>Behavior</a>
1004 </li>
1005 <li class=" tsd-kind-type-alias tsd-has-type-parameter">
1006 <a href="../index.html#onlinehandler" class="tsd-kind-icon">Online<wbr>Handler</a>
1007 </li>
1008 <li class=" tsd-kind-type-alias">
1009 <a href="../index.html#threadworkerwithmessagechannel" class="tsd-kind-icon">Thread<wbr>Worker<wbr>With<wbr>Message<wbr>Channel</a>
1010 </li>
1011 <li class=" tsd-kind-type-alias">
1012 <a href="../index.html#workerchoicestrategy" class="tsd-kind-icon">Worker<wbr>Choice<wbr>Strategy</a>
1013 </li>
1014 <li class=" tsd-kind-variable">
1015 <a href="../index.html#killbehaviors" class="tsd-kind-icon">Kill<wbr>Behaviors</a>
1016 </li>
1017 <li class=" tsd-kind-variable">
1018 <a href="../index.html#workerchoicestrategies" class="tsd-kind-icon">Worker<wbr>Choice<wbr>Strategies</a>
1019 </li>
1020 </ul>
1021 </nav>
1022 </div>
1023 </div>
1024 </div>
1025 <footer class="with-border-bottom">
1026 <div class="container">
1027 <h2>Legend</h2>
1028 <div class="tsd-legend-group">
1029 <ul class="tsd-legend">
1030 <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
1031 <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
1032 </ul>
1033 <ul class="tsd-legend">
1034 <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
1035 <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
1036 </ul>
1037 <ul class="tsd-legend">
1038 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
1039 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
1040 </ul>
1041 <ul class="tsd-legend">
1042 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
1043 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
1044 </ul>
1045 <ul class="tsd-legend">
1046 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
1047 </ul>
1048 </div>
1049 </div>
1050 </footer>
1051 <div class="container tsd-generator">
1052 <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
1053 </div>
1054 <div class="overlay"></div>
1055 <script src="../assets/js/main.js"></script>
1056 </body>
1057 </html>