'ecma',
'enum',
'fibonacci',
- 'inheritdoc',
+ 'inheritDoc',
'jsdoc',
'poolifier',
'readonly',
"Dependabot",
"Gitter",
"Shinigami",
- "inheritdoc",
+ "inheritDoc",
"lcov",
"loglevel",
"markdownlint",
--code-background: var(--dark-code-background);
} }
-body.light {
+:root[data-theme='light'] {
--code-background: var(--light-code-background);
}
-body.dark {
+:root[data-theme='dark'] {
--code-background: var(--dark-code-background);
}
+++ /dev/null
-.tsd-kind-icon {
- display: block;
- position: relative;
- padding-left: 20px;
- text-indent: -20px;
-}
-.tsd-kind-icon:before {
- content: "";
- display: inline-block;
- vertical-align: middle;
- width: 17px;
- height: 17px;
- margin: 0 3px 2px 0;
- background-image: url(./icons.png);
-}
-@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
- .tsd-kind-icon:before {
- background-image: url(./icons@2x.png);
- background-size: 238px 204px;
- }
-}
-
-.tsd-signature.tsd-kind-icon:before {
- background-position: 0 -153px;
-}
-
-.tsd-kind-object-literal > .tsd-kind-icon:before {
- background-position: 0px -17px;
-}
-.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -17px;
-}
-.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -17px;
-}
-
-.tsd-kind-class > .tsd-kind-icon:before {
- background-position: 0px -34px;
-}
-.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -34px;
-}
-.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -34px;
-}
-
-.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
- background-position: 0px -51px;
-}
-.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -17px -51px;
-}
-.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -51px;
-}
-
-.tsd-kind-interface > .tsd-kind-icon:before {
- background-position: 0px -68px;
-}
-.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -68px;
-}
-.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -68px;
-}
-
-.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
- background-position: 0px -85px;
-}
-.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -17px -85px;
-}
-.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -34px -85px;
-}
-
-.tsd-kind-namespace > .tsd-kind-icon:before {
- background-position: 0px -102px;
-}
-.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -102px;
-}
-.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -102px;
-}
-
-.tsd-kind-module > .tsd-kind-icon:before {
- background-position: 0px -102px;
-}
-.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -102px;
-}
-.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -102px;
-}
-
-.tsd-kind-enum > .tsd-kind-icon:before {
- background-position: 0px -119px;
-}
-.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -119px;
-}
-.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -119px;
-}
-
-.tsd-kind-enum-member > .tsd-kind-icon:before {
- background-position: 0px -136px;
-}
-.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -136px;
-}
-.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -136px;
-}
-
-.tsd-kind-signature > .tsd-kind-icon:before {
- background-position: 0px -153px;
-}
-.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -153px;
-}
-.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -153px;
-}
-
-.tsd-kind-type-alias > .tsd-kind-icon:before {
- background-position: 0px -170px;
-}
-.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -17px -170px;
-}
-.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
- background-position: -34px -170px;
-}
-
-.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
- background-position: 0px -187px;
-}
-.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -17px -187px;
-}
-.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -34px -187px;
-}
-
-.tsd-kind-variable > .tsd-kind-icon:before {
- background-position: -136px -0px;
-}
-.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -0px;
-}
-.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -0px;
-}
-.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -0px;
-}
-
-.tsd-kind-property > .tsd-kind-icon:before {
- background-position: -136px -0px;
-}
-.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -0px;
-}
-.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -0px;
-}
-.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -0px;
-}
-
-.tsd-kind-get-signature > .tsd-kind-icon:before {
- background-position: -136px -17px;
-}
-.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -17px;
-}
-.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -17px;
-}
-.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -17px;
-}
-
-.tsd-kind-set-signature > .tsd-kind-icon:before {
- background-position: -136px -34px;
-}
-.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -34px;
-}
-.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -34px;
-}
-.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -34px;
-}
-
-.tsd-kind-accessor > .tsd-kind-icon:before {
- background-position: -136px -51px;
-}
-.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -51px;
-}
-.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -51px;
-}
-.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -51px;
-}
-
-.tsd-kind-function > .tsd-kind-icon:before {
- background-position: -136px -68px;
-}
-.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -68px;
-}
-.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -68px;
-}
-.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -68px;
-}
-
-.tsd-kind-method > .tsd-kind-icon:before {
- background-position: -136px -68px;
-}
-.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -68px;
-}
-.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -187px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -68px;
-}
-.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -68px;
-}
-
-.tsd-kind-call-signature > .tsd-kind-icon:before {
- background-position: -136px -68px;
-}
-.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -68px;
-}
-.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -68px;
-}
-.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -68px;
-}
-
-.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
- background-position: -136px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -153px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class
- > .tsd-kind-icon:before {
- background-position: -51px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum
- > .tsd-kind-icon:before {
- background-position: -170px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -85px;
-}
-.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -85px;
-}
-
-.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
- background-position: -136px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -153px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class
- > .tsd-kind-icon:before {
- background-position: -51px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum
- > .tsd-kind-icon:before {
- background-position: -170px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -85px;
-}
-.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -85px;
-}
-
-.tsd-kind-constructor > .tsd-kind-icon:before {
- background-position: -136px -102px;
-}
-.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -102px;
-}
-.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -102px;
-}
-.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -102px;
-}
-
-.tsd-kind-constructor-signature > .tsd-kind-icon:before {
- background-position: -136px -102px;
-}
-.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -102px;
-}
-.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -102px;
-}
-.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -102px;
-}
-
-.tsd-kind-index-signature > .tsd-kind-icon:before {
- background-position: -136px -119px;
-}
-.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -119px;
-}
-.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -119px;
-}
-.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -119px;
-}
-
-.tsd-kind-event > .tsd-kind-icon:before {
- background-position: -136px -136px;
-}
-.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -136px;
-}
-.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
- background-position: -68px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -85px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -187px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -136px;
-}
-.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -136px;
-}
-
-.tsd-is-static > .tsd-kind-icon:before {
- background-position: -136px -153px;
-}
-.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -153px;
-}
-.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -153px;
-}
-.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -153px;
-}
-.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
- background-position: -68px -153px;
-}
-.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -85px -153px;
-}
-.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -153px;
-}
-.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -153px;
-}
-.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -153px;
-}
-.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -187px -153px;
-}
-.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -153px;
-}
-.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
- background-position: -204px -153px;
-}
-.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -153px;
-}
-
-.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
- background-position: -136px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -170px;
-}
-.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -170px;
-}
-
-.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
- background-position: -136px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -170px;
-}
-.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -170px;
-}
-
-.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
- background-position: -136px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -153px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class
- > .tsd-kind-icon:before {
- background-position: -51px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum
- > .tsd-kind-icon:before {
- background-position: -170px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -170px;
-}
-.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -170px;
-}
-
-.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
- background-position: -136px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
- background-position: -153px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
- background-position: -119px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
- background-position: -51px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -68px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -85px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -102px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
- background-position: -170px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected
- > .tsd-kind-icon:before {
- background-position: -187px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private
- > .tsd-kind-icon:before {
- background-position: -119px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface
- > .tsd-kind-icon:before {
- background-position: -204px -187px;
-}
-.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited
- > .tsd-kind-icon:before {
- background-position: -221px -187px;
-}
-(()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(f){return new t.Token(t.utils.asString(f).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var c=n.charAt(o),l=o-a;if(c.match(t.tokenizer.separator)||o==i){if(l>0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
-`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var c=0;c<a.length;c++)s.push(a[c]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,c=0,l=0,h=0;l<s&&h<o;)a=n[l],c=i[h],a<c?l+=2:a>c?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,c="^("+s+")?"+o+s+"("+o+")?$",l="^("+s+")?"+o+s+o+s,h="^("+s+")?"+i,f=new RegExp(a),v=new RegExp(l),b=new RegExp(c),y=new RegExp(h),E=/^(.+?)(ss|i)es$/,p=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,T=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,M=new RegExp("([^aeiouylsz])\\1$"),j=new RegExp("^"+s+i+"[^aeiouwxy]$"),V=/^(.+?[^aeiou])y$/,B=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,H=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,W=/ll$/,U=new RegExp("^"+s+i+"[^aeiouwxy]$"),z=function(u){var g,O,S,d,x,R,D;if(u.length<3)return u;if(S=u.substr(0,1),S=="y"&&(u=S.toUpperCase()+u.substr(1)),d=E,x=p,d.test(u)?u=u.replace(d,"$1$2"):x.test(u)&&(u=u.replace(x,"$1$2")),d=m,x=T,d.test(u)){var L=d.exec(u);d=f,d.test(L[1])&&(d=w,u=u.replace(d,""))}else if(x.test(u)){var L=x.exec(u);g=L[1],x=y,x.test(g)&&(u=g,x=k,R=M,D=j,x.test(u)?u=u+"e":R.test(u)?(d=w,u=u.replace(d,"")):D.test(u)&&(u=u+"e"))}if(d=V,d.test(u)){var L=d.exec(u);g=L[1],u=g+"i"}if(d=B,d.test(u)){var L=d.exec(u);g=L[1],O=L[2],d=f,d.test(g)&&(u=g+e[O])}if(d=q,d.test(u)){var L=d.exec(u);g=L[1],O=L[2],d=f,d.test(g)&&(u=g+r[O])}if(d=H,x=$,d.test(u)){var L=d.exec(u);g=L[1],d=v,d.test(g)&&(u=g)}else if(x.test(u)){var L=x.exec(u);g=L[1]+L[2],x=v,x.test(g)&&(u=g)}if(d=P,d.test(u)){var L=d.exec(u);g=L[1],d=v,x=b,R=U,(d.test(g)||x.test(g)&&!R.test(g))&&(u=g)}return d=W,x=v,d.test(u)&&x.test(u)&&(d=w,u=u.replace(d,"")),S=="y"&&(u=S.toLowerCase()+u.substr(1)),u};return function(F){return F.update(z)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var c=new t.TokenSet;c.final=a,r.edges[o]=c,r=c}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),c=a.length,l=0;l<o;l++)for(var h=s[l],f=0;f<c;f++){var v=a[f];if(v==h||h=="*"){var b=n.node.edges[v],y=n.qNode.edges[h],E=b.final&&y.final,p=void 0;v in n.output.edges?(p=n.output.edges[v],p.final=p.final||E):(p=new t.TokenSet,p.final=E,n.output.edges[v]=p),i.push({qNode:y,output:p,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c<this.fields.length;c++)i[this.fields[c]]=new t.Vector;e.call(r,r);for(var c=0;c<r.clauses.length;c++){var l=r.clauses[c],h=null,f=t.Set.empty;l.usePipeline?h=this.pipeline.runString(l.term,{fields:l.fields}):h=[l.term];for(var v=0;v<h.length;v++){var b=h[v];l.term=b;var y=t.TokenSet.fromClause(l),E=this.tokenSet.intersect(y).toArray();if(E.length===0&&l.presence===t.Query.presence.REQUIRED){for(var p=0;p<l.fields.length;p++){var m=l.fields[p];o[m]=t.Set.empty}break}for(var T=0;T<E.length;T++)for(var w=E[T],k=this.invertedIndex[w],M=k._index,p=0;p<l.fields.length;p++){var m=l.fields[p],j=k[m],V=Object.keys(j),B=w+"/"+m,q=new t.Set(V);if(l.presence==t.Query.presence.REQUIRED&&(f=f.union(q),o[m]===void 0&&(o[m]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[m]===void 0&&(a[m]=t.Set.empty),a[m]=a[m].union(q);continue}if(i[m].upsert(M,l.boost,function(Qe,Ie){return Qe+Ie}),!s[B]){for(var H=0;H<V.length;H++){var $=V[H],P=new t.FieldRef($,m),W=j[$],U;(U=n[P])===void 0?n[P]=new t.MatchData(w,m,W):U.add(w,m,W)}s[B]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var p=0;p<l.fields.length;p++){var m=l.fields[p];o[m]=o[m].intersect(f)}}for(var z=t.Set.complete,F=t.Set.empty,c=0;c<this.fields.length;c++){var m=this.fields[c];o[m]&&(z=z.intersect(o[m])),a[m]&&(F=F.union(a[m]))}var u=Object.keys(n),g=[],O=Object.create(null);if(r.isNegated()){u=Object.keys(this.fieldVectors);for(var c=0;c<u.length;c++){var P=u[c],S=t.FieldRef.fromString(P);n[P]=new t.MatchData}}for(var c=0;c<u.length;c++){var S=t.FieldRef.fromString(u[c]),d=S.docRef;if(!!z.contains(d)&&!F.contains(d)){var x=this.fieldVectors[S],R=i[S.fieldName].similarity(x),D;if((D=O[d])!==void 0)D.score+=R,D.matchData.combine(n[S]);else{var L={ref:d,score:R,matchData:n[S]};O[d]=L,g.push(L)}}}return g.sort(function(Se,ke){return ke.score-Se.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,c=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<i.length;l++){var h=i[l],f=h[0],v=h[1];n[f]=new t.Vector(v)}for(var l=0;l<o.length;l++){var h=o[l],b=h[0],y=h[1];a.insert(b),s[b]=y}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=c,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,c=a?a(e):e[o],l=this.tokenizer(c,{fields:[o]}),h=this.pipeline.run(l),f=new t.FieldRef(n,o),v=Object.create(null);this.fieldTermFrequencies[f]=v,this.fieldLengths[f]=0,this.fieldLengths[f]+=h.length;for(var b=0;b<h.length;b++){var y=h[b];if(v[y]==null&&(v[y]=0),v[y]+=1,this.invertedIndex[y]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var p=0;p<i.length;p++)E[i[p]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][n]==null&&(this.invertedIndex[y][o][n]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var T=this.metadataWhitelist[m],w=y.metadata[T];this.invertedIndex[y][o][n][T]==null&&(this.invertedIndex[y][o][n][T]=[]),this.invertedIndex[y][o][n][T].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var c=Object.keys(this._fields),s=0;s<c.length;s++){var l=c[s];n[l]=n[l]/i[l]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,c=this.fieldLengths[o],l=new t.Vector,h=this.fieldTermFrequencies[o],f=Object.keys(h),v=f.length,b=this._fields[a].boost||1,y=this._documents[o.docRef].boost||1,E=0;E<v;E++){var p=f[E],m=h[p],T=this.invertedIndex[p]._index,w,k,M;i[p]===void 0?(w=t.idf(this.invertedIndex[p],this.documentCount),i[p]=w):w=i[p],k=w*((this._k1+1)*m)/(this._k1*(1-this._b+this._b*(c/this.averageFieldLength[a]))+m),k*=b,k*=y,M=Math.round(k*1e3)/1e3,l.insert(T,M)}e[o]=l}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],c=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var l=0;l<c.length;l++){var h=c[l];this.metadata[i][a][h]==null?this.metadata[i][a][h]=e.metadata[i][a][h]:this.metadata[i][a][h]=this.metadata[i][a][h].concat(e.metadata[i][a][h])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i<s;i++)if(n[i]===r){n.splice(i,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return!0;let r=this.listeners[e.type].slice();for(let n=0,i=r.length;n<i;n++)r[n].call(this,e);return!e.defaultPrevented}};var K=(t,e=100)=>{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){var r;let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(r=this.secondaryNav)==null||r.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;n<i;n++){e=this.anchors[n];let s=e.anchor.getBoundingClientRect();e.position=s.top+document.body.scrollTop}this.anchors.sort((n,i)=>n.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s<i&&n[s+1].position<r;)s+=1;this.index!=s&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o<a;o++){let c=n.data.rows[Number(s[o].ref)],l=ve(c.name,i);c.parent&&(l=`<span class="parent">${ve(c.parent,i)}.</span>${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`<b>${re(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n<e.length;n++)this.groups.push(new ge(e[n],r[n]))}onClick(e){this.groups.forEach((r,n)=>{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})();
+"use strict";
+"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var u=r.charAt(o),l=o-a;if(u.match(t.tokenizer.separator)||o==i){if(l>0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
+`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var u=0;u<a.length;u++)s.push(a[u]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,u=0,l=0,h=0;l<s&&h<o;)a=r[l],u=i[h],a<u?l+=2:a>u?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,u="^("+s+")?"+o+s+"("+o+")?$",l="^("+s+")?"+o+s+o+s,h="^("+s+")?"+i,m=new RegExp(a),v=new RegExp(l),b=new RegExp(u),y=new RegExp(h),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,I=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),z=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,q=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,$=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,W=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,U=/ll$/,G=new RegExp("^"+s+i+"[^aeiouwxy]$"),N=function(c){var g,C,T,d,x,O,D;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),d=E,x=f,d.test(c)?c=c.replace(d,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),d=p,x=w,d.test(c)){var L=d.exec(c);d=m,d.test(L[1])&&(d=S,c=c.replace(d,""))}else if(x.test(c)){var L=x.exec(c);g=L[1],x=y,x.test(g)&&(c=g,x=I,O=_,D=z,x.test(c)?c=c+"e":O.test(c)?(d=S,c=c.replace(d,"")):D.test(c)&&(c=c+"e"))}if(d=A,d.test(c)){var L=d.exec(c);g=L[1],c=g+"i"}if(d=q,d.test(c)){var L=d.exec(c);g=L[1],C=L[2],d=m,d.test(g)&&(c=g+e[C])}if(d=$,d.test(c)){var L=d.exec(c);g=L[1],C=L[2],d=m,d.test(g)&&(c=g+n[C])}if(d=V,x=W,d.test(c)){var L=d.exec(c);g=L[1],d=v,d.test(g)&&(c=g)}else if(x.test(c)){var L=x.exec(c);g=L[1]+L[2],x=v,x.test(g)&&(c=g)}if(d=P,d.test(c)){var L=d.exec(c);g=L[1],d=v,x=b,O=G,(d.test(g)||x.test(g)&&!O.test(g))&&(c=g)}return d=U,x=v,d.test(c)&&x.test(c)&&(d=S,c=c.replace(d,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(M){return M.update(N)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var u=new t.TokenSet;u.final=a,n.edges[o]=u,n=u}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),u=a.length,l=0;l<o;l++)for(var h=s[l],m=0;m<u;m++){var v=a[m];if(v==h||h=="*"){var b=r.node.edges[v],y=r.qNode.edges[h],E=b.final&&y.final,f=void 0;v in r.output.edges?(f=r.output.edges[v],f.final=f.final||E):(f=new t.TokenSet,f.final=E,r.output.edges[v]=f),i.push({qNode:y,output:f,node:b})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)i[this.fields[u]]=new t.Vector;e.call(n,n);for(var u=0;u<n.clauses.length;u++){var l=n.clauses[u],h=null,m=t.Set.empty;l.usePipeline?h=this.pipeline.runString(l.term,{fields:l.fields}):h=[l.term];for(var v=0;v<h.length;v++){var b=h[v];l.term=b;var y=t.TokenSet.fromClause(l),E=this.tokenSet.intersect(y).toArray();if(E.length===0&&l.presence===t.Query.presence.REQUIRED){for(var f=0;f<l.fields.length;f++){var p=l.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],I=this.invertedIndex[S],_=I._index,f=0;f<l.fields.length;f++){var p=l.fields[f],z=I[p],A=Object.keys(z),q=S+"/"+p,$=new t.Set(A);if(l.presence==t.Query.presence.REQUIRED&&(m=m.union($),o[p]===void 0&&(o[p]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union($);continue}if(i[p].upsert(_,l.boost,function(ke,Ie){return ke+Ie}),!s[q]){for(var V=0;V<A.length;V++){var W=A[V],P=new t.FieldRef(W,p),U=z[W],G;(G=r[P])===void 0?r[P]=new t.MatchData(S,p,U):G.add(S,p,U)}s[q]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var f=0;f<l.fields.length;f++){var p=l.fields[f];o[p]=o[p].intersect(m)}}for(var N=t.Set.complete,M=t.Set.empty,u=0;u<this.fields.length;u++){var p=this.fields[u];o[p]&&(N=N.intersect(o[p])),a[p]&&(M=M.union(a[p]))}var c=Object.keys(r),g=[],C=Object.create(null);if(n.isNegated()){c=Object.keys(this.fieldVectors);for(var u=0;u<c.length;u++){var P=c[u],T=t.FieldRef.fromString(P);r[P]=new t.MatchData}}for(var u=0;u<c.length;u++){var T=t.FieldRef.fromString(c[u]),d=T.docRef;if(!!N.contains(d)&&!M.contains(d)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),D;if((D=C[d])!==void 0)D.score+=O,D.matchData.combine(r[T]);else{var L={ref:d,score:O,matchData:r[T]};C[d]=L,g.push(L)}}}return g.sort(function(we,Te){return Te.score-we.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,u=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<i.length;l++){var h=i[l],m=h[0],v=h[1];r[m]=new t.Vector(v)}for(var l=0;l<o.length;l++){var h=o[l],b=h[0],y=h[1];a.insert(b),s[b]=y}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=u,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,u=a?a(e):e[o],l=this.tokenizer(u,{fields:[o]}),h=this.pipeline.run(l),m=new t.FieldRef(r,o),v=Object.create(null);this.fieldTermFrequencies[m]=v,this.fieldLengths[m]=0,this.fieldLengths[m]+=h.length;for(var b=0;b<h.length;b++){var y=h[b];if(v[y]==null&&(v[y]=0),v[y]+=1,this.invertedIndex[y]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][r]==null&&(this.invertedIndex[y][o][r]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=y.metadata[w];this.invertedIndex[y][o][r][w]==null&&(this.invertedIndex[y][o][r][w]=[]),this.invertedIndex[y][o][r][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var u=Object.keys(this._fields),s=0;s<u.length;s++){var l=u[s];r[l]=r[l]/i[l]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,u=this.fieldLengths[o],l=new t.Vector,h=this.fieldTermFrequencies[o],m=Object.keys(h),v=m.length,b=this._fields[a].boost||1,y=this._documents[o.docRef].boost||1,E=0;E<v;E++){var f=m[E],p=h[f],w=this.invertedIndex[f]._index,S,I,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],I=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+p),I*=b,I*=y,_=Math.round(I*1e3)/1e3,l.insert(w,_)}e[o]=l}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],u=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var l=0;l<u.length;l++){var h=u[l];this.metadata[i][a][h]==null?this.metadata[i][a][h]=e.metadata[i][a][h]:this.metadata[i][a][h]=this.metadata[i][a][h].concat(e.metadata[i][a][h])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function j(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r}),r.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i<s;i++)if(r[i]===n){r.splice(i,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return!0;let n=this.listeners[e.type].slice();for(let r=0,i=n.length;r<i;r++)n[r].call(this,e);return!e.defaultPrevented}};var ne=(t,e=100)=>{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends k{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;i<s;i++){n=this.anchors[i];let o=n.anchor.getBoundingClientRect();n.position=o.top+document.body.scrollTop}this.anchors.sort((i,s)=>i.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o<s&&i[o+1].position<r;)o+=1;this.index!=o&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(r),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{Ae(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?fe(e,-1):s.key==="ArrowDown"?fe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function Ae(t,e,n,r){if(He(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],u=r.data.rows[Number(a.ref)],l=1;u.name.toLowerCase().startsWith(i.toLowerCase())&&(l*=1+1/(1+Math.abs(u.name.length-i.length))),a.score*=l}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let u=r.data.rows[Number(s[o].ref)],l=pe(u.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(l+=` (score: ${s[o].score.toFixed(2)})`),u.parent&&(l=`<span class="parent">${pe(u.parent,i)}.</span>${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function fe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function pe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`<b>${ie(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",B="mouseup",Z={x:0,y:0},ge=!1,se=!1,je=!1,H=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",B="touchend");document.addEventListener(F,t=>{se=!0,H=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!se&&!H){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);H=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends k{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){H||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!H&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends k{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
+`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends k{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();j(X,".menu-highlight");j(K,"a[data-toggle]");j(te,".tsd-index-accordion");j(ee,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("theme");Se&&be(Se);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})();
/*!
* lunr.Builder
* Copyright (C) 2020 Oliver Nightingale
-window.searchData = {"kinds":{"32":"Variable","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":4194304,"name":"ErrorHandler","url":"index.html#ErrorHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":1,"kind":65536,"name":"__type","url":"index.html#ErrorHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ErrorHandler"},{"id":2,"kind":4194304,"name":"ExitHandler","url":"index.html#ExitHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":3,"kind":65536,"name":"__type","url":"index.html#ExitHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ExitHandler"},{"id":4,"kind":256,"name":"IWorker","url":"interfaces/IWorker.html","classes":"tsd-kind-interface"},{"id":5,"kind":2048,"name":"on","url":"interfaces/IWorker.html#on","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IWorker"},{"id":6,"kind":2048,"name":"once","url":"interfaces/IWorker.html#once","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IWorker"},{"id":7,"kind":4194304,"name":"OnlineHandler","url":"index.html#OnlineHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":8,"kind":65536,"name":"__type","url":"index.html#OnlineHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"OnlineHandler"},{"id":9,"kind":256,"name":"PoolOptions","url":"interfaces/PoolOptions.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":10,"kind":1024,"name":"messageHandler","url":"interfaces/PoolOptions.html#messageHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":11,"kind":1024,"name":"errorHandler","url":"interfaces/PoolOptions.html#errorHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":12,"kind":1024,"name":"onlineHandler","url":"interfaces/PoolOptions.html#onlineHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":13,"kind":1024,"name":"exitHandler","url":"interfaces/PoolOptions.html#exitHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":14,"kind":1024,"name":"workerChoiceStrategy","url":"interfaces/PoolOptions.html#workerChoiceStrategy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":15,"kind":1024,"name":"enableEvents","url":"interfaces/PoolOptions.html#enableEvents","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":16,"kind":128,"name":"DynamicClusterPool","url":"classes/DynamicClusterPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":17,"kind":512,"name":"constructor","url":"classes/DynamicClusterPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":18,"kind":1024,"name":"max","url":"classes/DynamicClusterPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":19,"kind":262144,"name":"type","url":"classes/DynamicClusterPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":20,"kind":262144,"name":"busy","url":"classes/DynamicClusterPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":21,"kind":1024,"name":"opts","url":"classes/DynamicClusterPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":22,"kind":2048,"name":"setupHook","url":"classes/DynamicClusterPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":23,"kind":2048,"name":"isMain","url":"classes/DynamicClusterPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":24,"kind":2048,"name":"destroyWorker","url":"classes/DynamicClusterPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":25,"kind":2048,"name":"sendToWorker","url":"classes/DynamicClusterPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":26,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/DynamicClusterPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited","parent":"DynamicClusterPool"},{"id":27,"kind":2048,"name":"createWorker","url":"classes/DynamicClusterPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":28,"kind":2048,"name":"afterWorkerSetup","url":"classes/DynamicClusterPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":29,"kind":1024,"name":"workers","url":"classes/DynamicClusterPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":30,"kind":1024,"name":"tasks","url":"classes/DynamicClusterPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":31,"kind":1024,"name":"emitter","url":"classes/DynamicClusterPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":32,"kind":1024,"name":"promiseMap","url":"classes/DynamicClusterPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":33,"kind":1024,"name":"nextMessageId","url":"classes/DynamicClusterPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":34,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/DynamicClusterPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":35,"kind":1024,"name":"numberOfWorkers","url":"classes/DynamicClusterPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":36,"kind":1024,"name":"filePath","url":"classes/DynamicClusterPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":37,"kind":262144,"name":"numberOfRunningTasks","url":"classes/DynamicClusterPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":38,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/DynamicClusterPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":39,"kind":2048,"name":"internalGetBusyStatus","url":"classes/DynamicClusterPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":40,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/DynamicClusterPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":41,"kind":2048,"name":"execute","url":"classes/DynamicClusterPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":42,"kind":2048,"name":"destroy","url":"classes/DynamicClusterPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":43,"kind":2048,"name":"increaseWorkersTask","url":"classes/DynamicClusterPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":44,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/DynamicClusterPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":45,"kind":2048,"name":"removeWorker","url":"classes/DynamicClusterPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":46,"kind":2048,"name":"chooseWorker","url":"classes/DynamicClusterPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":47,"kind":2048,"name":"internalExecute","url":"classes/DynamicClusterPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":48,"kind":2048,"name":"createAndSetupWorker","url":"classes/DynamicClusterPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":49,"kind":2048,"name":"workerListener","url":"classes/DynamicClusterPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":50,"kind":128,"name":"FixedClusterPool","url":"classes/FixedClusterPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":51,"kind":512,"name":"constructor","url":"classes/FixedClusterPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedClusterPool"},{"id":52,"kind":1024,"name":"opts","url":"classes/FixedClusterPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":53,"kind":2048,"name":"setupHook","url":"classes/FixedClusterPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":54,"kind":2048,"name":"isMain","url":"classes/FixedClusterPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":55,"kind":2048,"name":"destroyWorker","url":"classes/FixedClusterPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":56,"kind":2048,"name":"sendToWorker","url":"classes/FixedClusterPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":57,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/FixedClusterPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedClusterPool"},{"id":58,"kind":2048,"name":"createWorker","url":"classes/FixedClusterPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":59,"kind":2048,"name":"afterWorkerSetup","url":"classes/FixedClusterPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":60,"kind":262144,"name":"type","url":"classes/FixedClusterPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":61,"kind":262144,"name":"busy","url":"classes/FixedClusterPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":62,"kind":1024,"name":"workers","url":"classes/FixedClusterPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":63,"kind":1024,"name":"tasks","url":"classes/FixedClusterPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":64,"kind":1024,"name":"emitter","url":"classes/FixedClusterPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":65,"kind":1024,"name":"max","url":"classes/FixedClusterPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":66,"kind":1024,"name":"promiseMap","url":"classes/FixedClusterPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":67,"kind":1024,"name":"nextMessageId","url":"classes/FixedClusterPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":68,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/FixedClusterPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":69,"kind":1024,"name":"numberOfWorkers","url":"classes/FixedClusterPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":70,"kind":1024,"name":"filePath","url":"classes/FixedClusterPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":71,"kind":262144,"name":"numberOfRunningTasks","url":"classes/FixedClusterPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":72,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/FixedClusterPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":73,"kind":2048,"name":"internalGetBusyStatus","url":"classes/FixedClusterPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":74,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/FixedClusterPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":75,"kind":2048,"name":"execute","url":"classes/FixedClusterPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":76,"kind":2048,"name":"destroy","url":"classes/FixedClusterPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":77,"kind":2048,"name":"increaseWorkersTask","url":"classes/FixedClusterPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":78,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/FixedClusterPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":79,"kind":2048,"name":"removeWorker","url":"classes/FixedClusterPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":80,"kind":2048,"name":"chooseWorker","url":"classes/FixedClusterPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":81,"kind":2048,"name":"internalExecute","url":"classes/FixedClusterPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":82,"kind":2048,"name":"createAndSetupWorker","url":"classes/FixedClusterPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":83,"kind":2048,"name":"workerListener","url":"classes/FixedClusterPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":84,"kind":256,"name":"ClusterPoolOptions","url":"interfaces/ClusterPoolOptions.html","classes":"tsd-kind-interface"},{"id":85,"kind":1024,"name":"env","url":"interfaces/ClusterPoolOptions.html#env","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ClusterPoolOptions"},{"id":86,"kind":1024,"name":"messageHandler","url":"interfaces/ClusterPoolOptions.html#messageHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":87,"kind":1024,"name":"errorHandler","url":"interfaces/ClusterPoolOptions.html#errorHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":88,"kind":1024,"name":"onlineHandler","url":"interfaces/ClusterPoolOptions.html#onlineHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":89,"kind":1024,"name":"exitHandler","url":"interfaces/ClusterPoolOptions.html#exitHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":90,"kind":1024,"name":"workerChoiceStrategy","url":"interfaces/ClusterPoolOptions.html#workerChoiceStrategy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":91,"kind":1024,"name":"enableEvents","url":"interfaces/ClusterPoolOptions.html#enableEvents","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":92,"kind":256,"name":"IPool","url":"interfaces/IPool.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":93,"kind":2048,"name":"execute","url":"interfaces/IPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":94,"kind":2048,"name":"destroy","url":"interfaces/IPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":95,"kind":2048,"name":"setWorkerChoiceStrategy","url":"interfaces/IPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":96,"kind":32,"name":"WorkerChoiceStrategies","url":"index.html#WorkerChoiceStrategies","classes":"tsd-kind-variable"},{"id":97,"kind":4194304,"name":"WorkerChoiceStrategy","url":"index.html#WorkerChoiceStrategy","classes":"tsd-kind-type-alias"},{"id":98,"kind":128,"name":"DynamicThreadPool","url":"classes/DynamicThreadPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":99,"kind":512,"name":"constructor","url":"classes/DynamicThreadPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":100,"kind":1024,"name":"max","url":"classes/DynamicThreadPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":101,"kind":262144,"name":"type","url":"classes/DynamicThreadPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":102,"kind":262144,"name":"busy","url":"classes/DynamicThreadPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":103,"kind":2048,"name":"isMain","url":"classes/DynamicThreadPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":104,"kind":2048,"name":"destroyWorker","url":"classes/DynamicThreadPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":105,"kind":2048,"name":"sendToWorker","url":"classes/DynamicThreadPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":106,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/DynamicThreadPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited","parent":"DynamicThreadPool"},{"id":107,"kind":2048,"name":"createWorker","url":"classes/DynamicThreadPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":108,"kind":2048,"name":"afterWorkerSetup","url":"classes/DynamicThreadPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":109,"kind":1024,"name":"workers","url":"classes/DynamicThreadPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":110,"kind":1024,"name":"tasks","url":"classes/DynamicThreadPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":111,"kind":1024,"name":"emitter","url":"classes/DynamicThreadPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":112,"kind":1024,"name":"promiseMap","url":"classes/DynamicThreadPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":113,"kind":1024,"name":"nextMessageId","url":"classes/DynamicThreadPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":114,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/DynamicThreadPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":115,"kind":1024,"name":"numberOfWorkers","url":"classes/DynamicThreadPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":116,"kind":1024,"name":"filePath","url":"classes/DynamicThreadPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":117,"kind":1024,"name":"opts","url":"classes/DynamicThreadPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":118,"kind":262144,"name":"numberOfRunningTasks","url":"classes/DynamicThreadPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":119,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/DynamicThreadPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":120,"kind":2048,"name":"internalGetBusyStatus","url":"classes/DynamicThreadPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":121,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/DynamicThreadPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":122,"kind":2048,"name":"execute","url":"classes/DynamicThreadPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":123,"kind":2048,"name":"destroy","url":"classes/DynamicThreadPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":124,"kind":2048,"name":"setupHook","url":"classes/DynamicThreadPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":125,"kind":2048,"name":"increaseWorkersTask","url":"classes/DynamicThreadPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":126,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/DynamicThreadPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":127,"kind":2048,"name":"removeWorker","url":"classes/DynamicThreadPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":128,"kind":2048,"name":"chooseWorker","url":"classes/DynamicThreadPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":129,"kind":2048,"name":"internalExecute","url":"classes/DynamicThreadPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":130,"kind":2048,"name":"createAndSetupWorker","url":"classes/DynamicThreadPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":131,"kind":2048,"name":"workerListener","url":"classes/DynamicThreadPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":132,"kind":128,"name":"FixedThreadPool","url":"classes/FixedThreadPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":133,"kind":512,"name":"constructor","url":"classes/FixedThreadPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedThreadPool"},{"id":134,"kind":2048,"name":"isMain","url":"classes/FixedThreadPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":135,"kind":2048,"name":"destroyWorker","url":"classes/FixedThreadPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":136,"kind":2048,"name":"sendToWorker","url":"classes/FixedThreadPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":137,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/FixedThreadPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedThreadPool"},{"id":138,"kind":2048,"name":"createWorker","url":"classes/FixedThreadPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":139,"kind":2048,"name":"afterWorkerSetup","url":"classes/FixedThreadPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":140,"kind":262144,"name":"type","url":"classes/FixedThreadPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":141,"kind":262144,"name":"busy","url":"classes/FixedThreadPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":142,"kind":1024,"name":"workers","url":"classes/FixedThreadPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":143,"kind":1024,"name":"tasks","url":"classes/FixedThreadPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":144,"kind":1024,"name":"emitter","url":"classes/FixedThreadPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":145,"kind":1024,"name":"max","url":"classes/FixedThreadPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":146,"kind":1024,"name":"promiseMap","url":"classes/FixedThreadPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":147,"kind":1024,"name":"nextMessageId","url":"classes/FixedThreadPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":148,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/FixedThreadPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":149,"kind":1024,"name":"numberOfWorkers","url":"classes/FixedThreadPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":150,"kind":1024,"name":"filePath","url":"classes/FixedThreadPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":151,"kind":1024,"name":"opts","url":"classes/FixedThreadPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":152,"kind":262144,"name":"numberOfRunningTasks","url":"classes/FixedThreadPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":153,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/FixedThreadPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":154,"kind":2048,"name":"internalGetBusyStatus","url":"classes/FixedThreadPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":155,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/FixedThreadPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":156,"kind":2048,"name":"execute","url":"classes/FixedThreadPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":157,"kind":2048,"name":"destroy","url":"classes/FixedThreadPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":158,"kind":2048,"name":"setupHook","url":"classes/FixedThreadPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":159,"kind":2048,"name":"increaseWorkersTask","url":"classes/FixedThreadPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":160,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/FixedThreadPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":161,"kind":2048,"name":"removeWorker","url":"classes/FixedThreadPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":162,"kind":2048,"name":"chooseWorker","url":"classes/FixedThreadPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":163,"kind":2048,"name":"internalExecute","url":"classes/FixedThreadPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":164,"kind":2048,"name":"createAndSetupWorker","url":"classes/FixedThreadPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":165,"kind":2048,"name":"workerListener","url":"classes/FixedThreadPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":166,"kind":4194304,"name":"ThreadWorkerWithMessageChannel","url":"index.html#ThreadWorkerWithMessageChannel","classes":"tsd-kind-type-alias"},{"id":167,"kind":128,"name":"AbstractWorker","url":"classes/AbstractWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":168,"kind":512,"name":"constructor","url":"classes/AbstractWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"AbstractWorker"},{"id":169,"kind":1024,"name":"lastTaskTimestamp","url":"classes/AbstractWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":170,"kind":1024,"name":"aliveInterval","url":"classes/AbstractWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":171,"kind":1024,"name":"mainWorker","url":"classes/AbstractWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":172,"kind":1024,"name":"opts","url":"classes/AbstractWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class","parent":"AbstractWorker"},{"id":173,"kind":2048,"name":"checkWorkerOptions","url":"classes/AbstractWorker.html#checkWorkerOptions","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"AbstractWorker"},{"id":174,"kind":2048,"name":"checkFunctionInput","url":"classes/AbstractWorker.html#checkFunctionInput","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"AbstractWorker"},{"id":175,"kind":2048,"name":"getMainWorker","url":"classes/AbstractWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":176,"kind":2048,"name":"sendToMainWorker","url":"classes/AbstractWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":177,"kind":2048,"name":"checkAlive","url":"classes/AbstractWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":178,"kind":2048,"name":"handleError","url":"classes/AbstractWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":179,"kind":2048,"name":"run","url":"classes/AbstractWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":180,"kind":2048,"name":"runAsync","url":"classes/AbstractWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":181,"kind":128,"name":"ClusterWorker","url":"classes/ClusterWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":182,"kind":512,"name":"constructor","url":"classes/ClusterWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"ClusterWorker"},{"id":183,"kind":2048,"name":"sendToMainWorker","url":"classes/ClusterWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ClusterWorker"},{"id":184,"kind":2048,"name":"handleError","url":"classes/ClusterWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ClusterWorker"},{"id":185,"kind":1024,"name":"lastTaskTimestamp","url":"classes/ClusterWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":186,"kind":1024,"name":"aliveInterval","url":"classes/ClusterWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":187,"kind":1024,"name":"mainWorker","url":"classes/ClusterWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":188,"kind":1024,"name":"opts","url":"classes/ClusterWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"ClusterWorker"},{"id":189,"kind":2048,"name":"getMainWorker","url":"classes/ClusterWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":190,"kind":2048,"name":"checkAlive","url":"classes/ClusterWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":191,"kind":2048,"name":"run","url":"classes/ClusterWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":192,"kind":2048,"name":"runAsync","url":"classes/ClusterWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":193,"kind":128,"name":"ThreadWorker","url":"classes/ThreadWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":194,"kind":512,"name":"constructor","url":"classes/ThreadWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"ThreadWorker"},{"id":195,"kind":2048,"name":"sendToMainWorker","url":"classes/ThreadWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ThreadWorker"},{"id":196,"kind":1024,"name":"lastTaskTimestamp","url":"classes/ThreadWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":197,"kind":1024,"name":"aliveInterval","url":"classes/ThreadWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":198,"kind":1024,"name":"mainWorker","url":"classes/ThreadWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":199,"kind":1024,"name":"opts","url":"classes/ThreadWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"ThreadWorker"},{"id":200,"kind":2048,"name":"getMainWorker","url":"classes/ThreadWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":201,"kind":2048,"name":"checkAlive","url":"classes/ThreadWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":202,"kind":2048,"name":"handleError","url":"classes/ThreadWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":203,"kind":2048,"name":"run","url":"classes/ThreadWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":204,"kind":2048,"name":"runAsync","url":"classes/ThreadWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":205,"kind":32,"name":"KillBehaviors","url":"index.html#KillBehaviors","classes":"tsd-kind-variable"},{"id":206,"kind":4194304,"name":"KillBehavior","url":"index.html#KillBehavior","classes":"tsd-kind-type-alias"},{"id":207,"kind":256,"name":"WorkerOptions","url":"interfaces/WorkerOptions.html","classes":"tsd-kind-interface"},{"id":208,"kind":1024,"name":"maxInactiveTime","url":"interfaces/WorkerOptions.html#maxInactiveTime","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"},{"id":209,"kind":1024,"name":"async","url":"interfaces/WorkerOptions.html#async","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"},{"id":210,"kind":1024,"name":"killBehavior","url":"interfaces/WorkerOptions.html#killBehavior","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,38.525]],["parent/0",[]],["name/1",[1,41.038]],["parent/1",[0,3.694]],["name/2",[2,38.525]],["parent/2",[]],["name/3",[1,41.038]],["parent/3",[2,3.694]],["name/4",[3,41.038]],["parent/4",[]],["name/5",[4,49.511]],["parent/5",[3,3.935]],["name/6",[5,49.511]],["parent/6",[3,3.935]],["name/7",[6,38.525]],["parent/7",[]],["name/8",[1,41.038]],["parent/8",[6,3.694]],["name/9",[7,33.417]],["parent/9",[]],["name/10",[8,44.403]],["parent/10",[7,3.204]],["name/11",[0,38.525]],["parent/11",[7,3.204]],["name/12",[6,38.525]],["parent/12",[7,3.204]],["name/13",[2,38.525]],["parent/13",[7,3.204]],["name/14",[9,41.038]],["parent/14",[7,3.204]],["name/15",[10,44.403]],["parent/15",[7,3.204]],["name/16",[11,18.156]],["parent/16",[]],["name/17",[12,33.417]],["parent/17",[11,1.741]],["name/18",[13,38.525]],["parent/18",[11,1.741]],["name/19",[14,38.525]],["parent/19",[11,1.741]],["name/20",[15,38.525]],["parent/20",[11,1.741]],["name/21",[16,33.417]],["parent/21",[11,1.741]],["name/22",[17,38.525]],["parent/22",[11,1.741]],["name/23",[18,38.525]],["parent/23",[11,1.741]],["name/24",[19,38.525]],["parent/24",[11,1.741]],["name/25",[20,38.525]],["parent/25",[11,1.741]],["name/26",[21,38.525]],["parent/26",[11,1.741]],["name/27",[22,38.525]],["parent/27",[11,1.741]],["name/28",[23,38.525]],["parent/28",[11,1.741]],["name/29",[24,38.525]],["parent/29",[11,1.741]],["name/30",[25,38.525]],["parent/30",[11,1.741]],["name/31",[26,38.525]],["parent/31",[11,1.741]],["name/32",[27,38.525]],["parent/32",[11,1.741]],["name/33",[28,38.525]],["parent/33",[11,1.741]],["name/34",[29,38.525]],["parent/34",[11,1.741]],["name/35",[30,38.525]],["parent/35",[11,1.741]],["name/36",[31,38.525]],["parent/36",[11,1.741]],["name/37",[32,38.525]],["parent/37",[11,1.741]],["name/38",[33,36.518]],["parent/38",[11,1.741]],["name/39",[34,38.525]],["parent/39",[11,1.741]],["name/40",[35,38.525]],["parent/40",[11,1.741]],["name/41",[36,36.518]],["parent/41",[11,1.741]],["name/42",[37,36.518]],["parent/42",[11,1.741]],["name/43",[38,38.525]],["parent/43",[11,1.741]],["name/44",[39,38.525]],["parent/44",[11,1.741]],["name/45",[40,38.525]],["parent/45",[11,1.741]],["name/46",[41,38.525]],["parent/46",[11,1.741]],["name/47",[42,38.525]],["parent/47",[11,1.741]],["name/48",[43,38.525]],["parent/48",[11,1.741]],["name/49",[44,38.525]],["parent/49",[11,1.741]],["name/50",[45,18.156]],["parent/50",[]],["name/51",[12,33.417]],["parent/51",[45,1.741]],["name/52",[16,33.417]],["parent/52",[45,1.741]],["name/53",[17,38.525]],["parent/53",[45,1.741]],["name/54",[18,38.525]],["parent/54",[45,1.741]],["name/55",[19,38.525]],["parent/55",[45,1.741]],["name/56",[20,38.525]],["parent/56",[45,1.741]],["name/57",[21,38.525]],["parent/57",[45,1.741]],["name/58",[22,38.525]],["parent/58",[45,1.741]],["name/59",[23,38.525]],["parent/59",[45,1.741]],["name/60",[14,38.525]],["parent/60",[45,1.741]],["name/61",[15,38.525]],["parent/61",[45,1.741]],["name/62",[24,38.525]],["parent/62",[45,1.741]],["name/63",[25,38.525]],["parent/63",[45,1.741]],["name/64",[26,38.525]],["parent/64",[45,1.741]],["name/65",[13,38.525]],["parent/65",[45,1.741]],["name/66",[27,38.525]],["parent/66",[45,1.741]],["name/67",[28,38.525]],["parent/67",[45,1.741]],["name/68",[29,38.525]],["parent/68",[45,1.741]],["name/69",[30,38.525]],["parent/69",[45,1.741]],["name/70",[31,38.525]],["parent/70",[45,1.741]],["name/71",[32,38.525]],["parent/71",[45,1.741]],["name/72",[33,36.518]],["parent/72",[45,1.741]],["name/73",[34,38.525]],["parent/73",[45,1.741]],["name/74",[35,38.525]],["parent/74",[45,1.741]],["name/75",[36,36.518]],["parent/75",[45,1.741]],["name/76",[37,36.518]],["parent/76",[45,1.741]],["name/77",[38,38.525]],["parent/77",[45,1.741]],["name/78",[39,38.525]],["parent/78",[45,1.741]],["name/79",[40,38.525]],["parent/79",[45,1.741]],["name/80",[41,38.525]],["parent/80",[45,1.741]],["name/81",[42,38.525]],["parent/81",[45,1.741]],["name/82",[43,38.525]],["parent/82",[45,1.741]],["name/83",[44,38.525]],["parent/83",[45,1.741]],["name/84",[46,32.165]],["parent/84",[]],["name/85",[47,49.511]],["parent/85",[46,3.084]],["name/86",[8,44.403]],["parent/86",[46,3.084]],["name/87",[0,38.525]],["parent/87",[46,3.084]],["name/88",[6,38.525]],["parent/88",[46,3.084]],["name/89",[2,38.525]],["parent/89",[46,3.084]],["name/90",[9,41.038]],["parent/90",[46,3.084]],["name/91",[10,44.403]],["parent/91",[46,3.084]],["name/92",[48,38.525]],["parent/92",[]],["name/93",[36,36.518]],["parent/93",[48,3.694]],["name/94",[37,36.518]],["parent/94",[48,3.694]],["name/95",[33,36.518]],["parent/95",[48,3.694]],["name/96",[49,49.511]],["parent/96",[]],["name/97",[9,41.038]],["parent/97",[]],["name/98",[50,18.156]],["parent/98",[]],["name/99",[12,33.417]],["parent/99",[50,1.741]],["name/100",[13,38.525]],["parent/100",[50,1.741]],["name/101",[14,38.525]],["parent/101",[50,1.741]],["name/102",[15,38.525]],["parent/102",[50,1.741]],["name/103",[18,38.525]],["parent/103",[50,1.741]],["name/104",[19,38.525]],["parent/104",[50,1.741]],["name/105",[20,38.525]],["parent/105",[50,1.741]],["name/106",[21,38.525]],["parent/106",[50,1.741]],["name/107",[22,38.525]],["parent/107",[50,1.741]],["name/108",[23,38.525]],["parent/108",[50,1.741]],["name/109",[24,38.525]],["parent/109",[50,1.741]],["name/110",[25,38.525]],["parent/110",[50,1.741]],["name/111",[26,38.525]],["parent/111",[50,1.741]],["name/112",[27,38.525]],["parent/112",[50,1.741]],["name/113",[28,38.525]],["parent/113",[50,1.741]],["name/114",[29,38.525]],["parent/114",[50,1.741]],["name/115",[30,38.525]],["parent/115",[50,1.741]],["name/116",[31,38.525]],["parent/116",[50,1.741]],["name/117",[16,33.417]],["parent/117",[50,1.741]],["name/118",[32,38.525]],["parent/118",[50,1.741]],["name/119",[33,36.518]],["parent/119",[50,1.741]],["name/120",[34,38.525]],["parent/120",[50,1.741]],["name/121",[35,38.525]],["parent/121",[50,1.741]],["name/122",[36,36.518]],["parent/122",[50,1.741]],["name/123",[37,36.518]],["parent/123",[50,1.741]],["name/124",[17,38.525]],["parent/124",[50,1.741]],["name/125",[38,38.525]],["parent/125",[50,1.741]],["name/126",[39,38.525]],["parent/126",[50,1.741]],["name/127",[40,38.525]],["parent/127",[50,1.741]],["name/128",[41,38.525]],["parent/128",[50,1.741]],["name/129",[42,38.525]],["parent/129",[50,1.741]],["name/130",[43,38.525]],["parent/130",[50,1.741]],["name/131",[44,38.525]],["parent/131",[50,1.741]],["name/132",[51,18.156]],["parent/132",[]],["name/133",[12,33.417]],["parent/133",[51,1.741]],["name/134",[18,38.525]],["parent/134",[51,1.741]],["name/135",[19,38.525]],["parent/135",[51,1.741]],["name/136",[20,38.525]],["parent/136",[51,1.741]],["name/137",[21,38.525]],["parent/137",[51,1.741]],["name/138",[22,38.525]],["parent/138",[51,1.741]],["name/139",[23,38.525]],["parent/139",[51,1.741]],["name/140",[14,38.525]],["parent/140",[51,1.741]],["name/141",[15,38.525]],["parent/141",[51,1.741]],["name/142",[24,38.525]],["parent/142",[51,1.741]],["name/143",[25,38.525]],["parent/143",[51,1.741]],["name/144",[26,38.525]],["parent/144",[51,1.741]],["name/145",[13,38.525]],["parent/145",[51,1.741]],["name/146",[27,38.525]],["parent/146",[51,1.741]],["name/147",[28,38.525]],["parent/147",[51,1.741]],["name/148",[29,38.525]],["parent/148",[51,1.741]],["name/149",[30,38.525]],["parent/149",[51,1.741]],["name/150",[31,38.525]],["parent/150",[51,1.741]],["name/151",[16,33.417]],["parent/151",[51,1.741]],["name/152",[32,38.525]],["parent/152",[51,1.741]],["name/153",[33,36.518]],["parent/153",[51,1.741]],["name/154",[34,38.525]],["parent/154",[51,1.741]],["name/155",[35,38.525]],["parent/155",[51,1.741]],["name/156",[36,36.518]],["parent/156",[51,1.741]],["name/157",[37,36.518]],["parent/157",[51,1.741]],["name/158",[17,38.525]],["parent/158",[51,1.741]],["name/159",[38,38.525]],["parent/159",[51,1.741]],["name/160",[39,38.525]],["parent/160",[51,1.741]],["name/161",[40,38.525]],["parent/161",[51,1.741]],["name/162",[41,38.525]],["parent/162",[51,1.741]],["name/163",[42,38.525]],["parent/163",[51,1.741]],["name/164",[43,38.525]],["parent/164",[51,1.741]],["name/165",[44,38.525]],["parent/165",[51,1.741]],["name/166",[52,49.511]],["parent/166",[]],["name/167",[53,26.824]],["parent/167",[]],["name/168",[12,33.417]],["parent/168",[53,2.572]],["name/169",[54,41.038]],["parent/169",[53,2.572]],["name/170",[55,41.038]],["parent/170",[53,2.572]],["name/171",[56,41.038]],["parent/171",[53,2.572]],["name/172",[16,33.417]],["parent/172",[53,2.572]],["name/173",[57,49.511]],["parent/173",[53,2.572]],["name/174",[58,49.511]],["parent/174",[53,2.572]],["name/175",[59,41.038]],["parent/175",[53,2.572]],["name/176",[60,41.038]],["parent/176",[53,2.572]],["name/177",[61,41.038]],["parent/177",[53,2.572]],["name/178",[62,41.038]],["parent/178",[53,2.572]],["name/179",[63,41.038]],["parent/179",[53,2.572]],["name/180",[64,41.038]],["parent/180",[53,2.572]],["name/181",[65,28.309]],["parent/181",[]],["name/182",[12,33.417]],["parent/182",[65,2.715]],["name/183",[60,41.038]],["parent/183",[65,2.715]],["name/184",[62,41.038]],["parent/184",[65,2.715]],["name/185",[54,41.038]],["parent/185",[65,2.715]],["name/186",[55,41.038]],["parent/186",[65,2.715]],["name/187",[56,41.038]],["parent/187",[65,2.715]],["name/188",[16,33.417]],["parent/188",[65,2.715]],["name/189",[59,41.038]],["parent/189",[65,2.715]],["name/190",[61,41.038]],["parent/190",[65,2.715]],["name/191",[63,41.038]],["parent/191",[65,2.715]],["name/192",[64,41.038]],["parent/192",[65,2.715]],["name/193",[66,28.309]],["parent/193",[]],["name/194",[12,33.417]],["parent/194",[66,2.715]],["name/195",[60,41.038]],["parent/195",[66,2.715]],["name/196",[54,41.038]],["parent/196",[66,2.715]],["name/197",[55,41.038]],["parent/197",[66,2.715]],["name/198",[56,41.038]],["parent/198",[66,2.715]],["name/199",[16,33.417]],["parent/199",[66,2.715]],["name/200",[59,41.038]],["parent/200",[66,2.715]],["name/201",[61,41.038]],["parent/201",[66,2.715]],["name/202",[62,41.038]],["parent/202",[66,2.715]],["name/203",[63,41.038]],["parent/203",[66,2.715]],["name/204",[64,41.038]],["parent/204",[66,2.715]],["name/205",[67,49.511]],["parent/205",[]],["name/206",[68,44.403]],["parent/206",[]],["name/207",[69,38.525]],["parent/207",[]],["name/208",[70,49.511]],["parent/208",[69,3.694]],["name/209",[71,49.511]],["parent/209",[69,3.694]],["name/210",[68,44.403]],["parent/210",[69,3.694]]],"invertedIndex":[["__type",{"_index":1,"name":{"1":{},"3":{},"8":{}},"parent":{}}],["abstractworker",{"_index":53,"name":{"167":{}},"parent":{"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{}}}],["afterworkersetup",{"_index":23,"name":{"28":{},"59":{},"108":{},"139":{}},"parent":{}}],["aliveinterval",{"_index":55,"name":{"170":{},"186":{},"197":{}},"parent":{}}],["async",{"_index":71,"name":{"209":{}},"parent":{}}],["busy",{"_index":15,"name":{"20":{},"61":{},"102":{},"141":{}},"parent":{}}],["checkalive",{"_index":61,"name":{"177":{},"190":{},"201":{}},"parent":{}}],["checkfunctioninput",{"_index":58,"name":{"174":{}},"parent":{}}],["checkworkeroptions",{"_index":57,"name":{"173":{}},"parent":{}}],["chooseworker",{"_index":41,"name":{"46":{},"80":{},"128":{},"162":{}},"parent":{}}],["clusterpooloptions",{"_index":46,"name":{"84":{}},"parent":{"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{}}}],["clusterworker",{"_index":65,"name":{"181":{}},"parent":{"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{}}}],["constructor",{"_index":12,"name":{"17":{},"51":{},"99":{},"133":{},"168":{},"182":{},"194":{}},"parent":{}}],["createandsetupworker",{"_index":43,"name":{"48":{},"82":{},"130":{},"164":{}},"parent":{}}],["createworker",{"_index":22,"name":{"27":{},"58":{},"107":{},"138":{}},"parent":{}}],["decreaseworkerstasks",{"_index":39,"name":{"44":{},"78":{},"126":{},"160":{}},"parent":{}}],["destroy",{"_index":37,"name":{"42":{},"76":{},"94":{},"123":{},"157":{}},"parent":{}}],["destroyworker",{"_index":19,"name":{"24":{},"55":{},"104":{},"135":{}},"parent":{}}],["dynamicclusterpool",{"_index":11,"name":{"16":{}},"parent":{"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{}}}],["dynamicthreadpool",{"_index":50,"name":{"98":{}},"parent":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{}}}],["emitter",{"_index":26,"name":{"31":{},"64":{},"111":{},"144":{}},"parent":{}}],["enableevents",{"_index":10,"name":{"15":{},"91":{}},"parent":{}}],["env",{"_index":47,"name":{"85":{}},"parent":{}}],["errorhandler",{"_index":0,"name":{"0":{},"11":{},"87":{}},"parent":{"1":{}}}],["execute",{"_index":36,"name":{"41":{},"75":{},"93":{},"122":{},"156":{}},"parent":{}}],["exithandler",{"_index":2,"name":{"2":{},"13":{},"89":{}},"parent":{"3":{}}}],["filepath",{"_index":31,"name":{"36":{},"70":{},"116":{},"150":{}},"parent":{}}],["findfreetasksmapentry",{"_index":35,"name":{"40":{},"74":{},"121":{},"155":{}},"parent":{}}],["fixedclusterpool",{"_index":45,"name":{"50":{}},"parent":{"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{}}}],["fixedthreadpool",{"_index":51,"name":{"132":{}},"parent":{"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{}}}],["getmainworker",{"_index":59,"name":{"175":{},"189":{},"200":{}},"parent":{}}],["handleerror",{"_index":62,"name":{"178":{},"184":{},"202":{}},"parent":{}}],["increaseworkerstask",{"_index":38,"name":{"43":{},"77":{},"125":{},"159":{}},"parent":{}}],["internalexecute",{"_index":42,"name":{"47":{},"81":{},"129":{},"163":{}},"parent":{}}],["internalgetbusystatus",{"_index":34,"name":{"39":{},"73":{},"120":{},"154":{}},"parent":{}}],["ipool",{"_index":48,"name":{"92":{}},"parent":{"93":{},"94":{},"95":{}}}],["ismain",{"_index":18,"name":{"23":{},"54":{},"103":{},"134":{}},"parent":{}}],["iworker",{"_index":3,"name":{"4":{}},"parent":{"5":{},"6":{}}}],["killbehavior",{"_index":68,"name":{"206":{},"210":{}},"parent":{}}],["killbehaviors",{"_index":67,"name":{"205":{}},"parent":{}}],["lasttasktimestamp",{"_index":54,"name":{"169":{},"185":{},"196":{}},"parent":{}}],["mainworker",{"_index":56,"name":{"171":{},"187":{},"198":{}},"parent":{}}],["max",{"_index":13,"name":{"18":{},"65":{},"100":{},"145":{}},"parent":{}}],["maxinactivetime",{"_index":70,"name":{"208":{}},"parent":{}}],["messagehandler",{"_index":8,"name":{"10":{},"86":{}},"parent":{}}],["nextmessageid",{"_index":28,"name":{"33":{},"67":{},"113":{},"147":{}},"parent":{}}],["numberofrunningtasks",{"_index":32,"name":{"37":{},"71":{},"118":{},"152":{}},"parent":{}}],["numberofworkers",{"_index":30,"name":{"35":{},"69":{},"115":{},"149":{}},"parent":{}}],["on",{"_index":4,"name":{"5":{}},"parent":{}}],["once",{"_index":5,"name":{"6":{}},"parent":{}}],["onlinehandler",{"_index":6,"name":{"7":{},"12":{},"88":{}},"parent":{"8":{}}}],["opts",{"_index":16,"name":{"21":{},"52":{},"117":{},"151":{},"172":{},"188":{},"199":{}},"parent":{}}],["pooloptions",{"_index":7,"name":{"9":{}},"parent":{"10":{},"11":{},"12":{},"13":{},"14":{},"15":{}}}],["promisemap",{"_index":27,"name":{"32":{},"66":{},"112":{},"146":{}},"parent":{}}],["registerworkermessagelistener",{"_index":21,"name":{"26":{},"57":{},"106":{},"137":{}},"parent":{}}],["removeworker",{"_index":40,"name":{"45":{},"79":{},"127":{},"161":{}},"parent":{}}],["run",{"_index":63,"name":{"179":{},"191":{},"203":{}},"parent":{}}],["runasync",{"_index":64,"name":{"180":{},"192":{},"204":{}},"parent":{}}],["sendtomainworker",{"_index":60,"name":{"176":{},"183":{},"195":{}},"parent":{}}],["sendtoworker",{"_index":20,"name":{"25":{},"56":{},"105":{},"136":{}},"parent":{}}],["setuphook",{"_index":17,"name":{"22":{},"53":{},"124":{},"158":{}},"parent":{}}],["setworkerchoicestrategy",{"_index":33,"name":{"38":{},"72":{},"95":{},"119":{},"153":{}},"parent":{}}],["tasks",{"_index":25,"name":{"30":{},"63":{},"110":{},"143":{}},"parent":{}}],["threadworker",{"_index":66,"name":{"193":{}},"parent":{"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{}}}],["threadworkerwithmessagechannel",{"_index":52,"name":{"166":{}},"parent":{}}],["type",{"_index":14,"name":{"19":{},"60":{},"101":{},"140":{}},"parent":{}}],["workerchoicestrategies",{"_index":49,"name":{"96":{}},"parent":{}}],["workerchoicestrategy",{"_index":9,"name":{"14":{},"90":{},"97":{}},"parent":{}}],["workerchoicestrategycontext",{"_index":29,"name":{"34":{},"68":{},"114":{},"148":{}},"parent":{}}],["workerlistener",{"_index":44,"name":{"49":{},"83":{},"131":{},"165":{}},"parent":{}}],["workeroptions",{"_index":69,"name":{"207":{}},"parent":{"208":{},"209":{},"210":{}}}],["workers",{"_index":24,"name":{"29":{},"62":{},"109":{},"142":{}},"parent":{}}]],"pipeline":[]}}
\ No newline at end of file
+window.searchData = JSON.parse("{\"kinds\":{\"32\":\"Variable\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":128,\"name\":\"DynamicClusterPool\",\"url\":\"classes/DynamicClusterPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DynamicClusterPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/DynamicClusterPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/DynamicClusterPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/DynamicClusterPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/DynamicClusterPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/DynamicClusterPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/DynamicClusterPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/DynamicClusterPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/DynamicClusterPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/DynamicClusterPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/DynamicClusterPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/DynamicClusterPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/DynamicClusterPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/DynamicClusterPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/DynamicClusterPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/DynamicClusterPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/DynamicClusterPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/DynamicClusterPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/DynamicClusterPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/DynamicClusterPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/DynamicClusterPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/DynamicClusterPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/DynamicClusterPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/DynamicClusterPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/DynamicClusterPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/DynamicClusterPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/DynamicClusterPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/DynamicClusterPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/DynamicClusterPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/DynamicClusterPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/DynamicClusterPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/DynamicClusterPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/DynamicClusterPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/DynamicClusterPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/DynamicClusterPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/DynamicClusterPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"DynamicClusterPool.workerListener.workerListener\"},{\"kind\":128,\"name\":\"FixedClusterPool\",\"url\":\"classes/FixedClusterPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FixedClusterPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/FixedClusterPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/FixedClusterPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/FixedClusterPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/FixedClusterPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/FixedClusterPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/FixedClusterPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/FixedClusterPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/FixedClusterPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/FixedClusterPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/FixedClusterPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/FixedClusterPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/FixedClusterPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/FixedClusterPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/FixedClusterPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/FixedClusterPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/FixedClusterPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/FixedClusterPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/FixedClusterPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/FixedClusterPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/FixedClusterPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/FixedClusterPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/FixedClusterPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/FixedClusterPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/FixedClusterPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/FixedClusterPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/FixedClusterPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/FixedClusterPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/FixedClusterPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/FixedClusterPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/FixedClusterPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/FixedClusterPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/FixedClusterPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/FixedClusterPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/FixedClusterPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/FixedClusterPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"FixedClusterPool.workerListener.workerListener\"},{\"kind\":256,\"name\":\"ClusterPoolOptions\",\"url\":\"interfaces/ClusterPoolOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"env\",\"url\":\"interfaces/ClusterPoolOptions.html#env\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"messageHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#messageHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"onlineHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#onlineHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"exitHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#exitHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"workerChoiceStrategy\",\"url\":\"interfaces/ClusterPoolOptions.html#workerChoiceStrategy\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"enableEvents\",\"url\":\"interfaces/ClusterPoolOptions.html#enableEvents\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":256,\"name\":\"IPool\",\"url\":\"interfaces/IPool.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"interfaces/IPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"interfaces/IPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"interfaces/IPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":256,\"name\":\"PoolOptions\",\"url\":\"interfaces/PoolOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"messageHandler\",\"url\":\"interfaces/PoolOptions.html#messageHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/PoolOptions.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"onlineHandler\",\"url\":\"interfaces/PoolOptions.html#onlineHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"exitHandler\",\"url\":\"interfaces/PoolOptions.html#exitHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"workerChoiceStrategy\",\"url\":\"interfaces/PoolOptions.html#workerChoiceStrategy\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"enableEvents\",\"url\":\"interfaces/PoolOptions.html#enableEvents\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":4194304,\"name\":\"ErrorHandler\",\"url\":\"types/ErrorHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/ErrorHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"ErrorHandler\"},{\"kind\":4194304,\"name\":\"ExitHandler\",\"url\":\"types/ExitHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/ExitHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"ExitHandler\"},{\"kind\":256,\"name\":\"IPoolWorker\",\"url\":\"interfaces/IPoolWorker.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/IPoolWorker.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":2048,\"name\":\"on\",\"url\":\"interfaces/IPoolWorker.html#on\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":2048,\"name\":\"once\",\"url\":\"interfaces/IPoolWorker.html#once\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":4194304,\"name\":\"OnlineHandler\",\"url\":\"types/OnlineHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/OnlineHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"OnlineHandler\"},{\"kind\":32,\"name\":\"WorkerChoiceStrategies\",\"url\":\"variables/WorkerChoiceStrategies.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":4194304,\"name\":\"WorkerChoiceStrategy\",\"url\":\"types/WorkerChoiceStrategy.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"DynamicThreadPool\",\"url\":\"classes/DynamicThreadPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DynamicThreadPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/DynamicThreadPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/DynamicThreadPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/DynamicThreadPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/DynamicThreadPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/DynamicThreadPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/DynamicThreadPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/DynamicThreadPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/DynamicThreadPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/DynamicThreadPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/DynamicThreadPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/DynamicThreadPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/DynamicThreadPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/DynamicThreadPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/DynamicThreadPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/DynamicThreadPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/DynamicThreadPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/DynamicThreadPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/DynamicThreadPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/DynamicThreadPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/DynamicThreadPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/DynamicThreadPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/DynamicThreadPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/DynamicThreadPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/DynamicThreadPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/DynamicThreadPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/DynamicThreadPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/DynamicThreadPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/DynamicThreadPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/DynamicThreadPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/DynamicThreadPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/DynamicThreadPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/DynamicThreadPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/DynamicThreadPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/DynamicThreadPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/DynamicThreadPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"DynamicThreadPool.workerListener.workerListener\"},{\"kind\":128,\"name\":\"FixedThreadPool\",\"url\":\"classes/FixedThreadPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FixedThreadPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/FixedThreadPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/FixedThreadPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/FixedThreadPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/FixedThreadPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/FixedThreadPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/FixedThreadPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/FixedThreadPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/FixedThreadPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/FixedThreadPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/FixedThreadPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/FixedThreadPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/FixedThreadPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/FixedThreadPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/FixedThreadPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/FixedThreadPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/FixedThreadPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/FixedThreadPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/FixedThreadPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/FixedThreadPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/FixedThreadPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/FixedThreadPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/FixedThreadPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/FixedThreadPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/FixedThreadPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/FixedThreadPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/FixedThreadPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/FixedThreadPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/FixedThreadPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/FixedThreadPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/FixedThreadPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/FixedThreadPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/FixedThreadPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/FixedThreadPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/FixedThreadPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/FixedThreadPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"FixedThreadPool.workerListener.workerListener\"},{\"kind\":4194304,\"name\":\"ThreadWorkerWithMessageChannel\",\"url\":\"types/ThreadWorkerWithMessageChannel.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"AbstractWorker\",\"url\":\"classes/AbstractWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/AbstractWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/AbstractWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/AbstractWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/AbstractWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/AbstractWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/AbstractWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkWorkerOptions\",\"url\":\"classes/AbstractWorker.html#checkWorkerOptions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkFunctionInput\",\"url\":\"classes/AbstractWorker.html#checkFunctionInput\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/AbstractWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/AbstractWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/AbstractWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/AbstractWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/AbstractWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/AbstractWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":128,\"name\":\"ClusterWorker\",\"url\":\"classes/ClusterWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/ClusterWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/ClusterWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/ClusterWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/ClusterWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/ClusterWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/ClusterWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/ClusterWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/ClusterWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/ClusterWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/ClusterWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/ClusterWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":128,\"name\":\"ThreadWorker\",\"url\":\"classes/ThreadWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ThreadWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/ThreadWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/ThreadWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/ThreadWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/ThreadWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/ThreadWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/ThreadWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/ThreadWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/ThreadWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/ThreadWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/ThreadWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/ThreadWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":32,\"name\":\"KillBehaviors\",\"url\":\"variables/KillBehaviors.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":4194304,\"name\":\"KillBehavior\",\"url\":\"types/KillBehavior.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":256,\"name\":\"WorkerOptions\",\"url\":\"interfaces/WorkerOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxInactiveTime\",\"url\":\"interfaces/WorkerOptions.html#maxInactiveTime\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"},{\"kind\":1024,\"name\":\"async\",\"url\":\"interfaces/WorkerOptions.html#async\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"},{\"kind\":1024,\"name\":\"killBehavior\",\"url\":\"interfaces/WorkerOptions.html#killBehavior\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,50.239]],[\"comment/0\",[]],[\"name/1\",[1,34.144]],[\"comment/1\",[]],[\"name/2\",[2,39.253]],[\"comment/2\",[]],[\"name/3\",[3,39.253]],[\"comment/3\",[]],[\"name/4\",[4,39.253]],[\"comment/4\",[]],[\"name/5\",[5,34.144]],[\"comment/5\",[]],[\"name/6\",[6,39.253]],[\"comment/6\",[]],[\"name/7\",[7,39.253]],[\"comment/7\",[]],[\"name/8\",[8,39.253]],[\"comment/8\",[]],[\"name/9\",[9,39.253]],[\"comment/9\",[]],[\"name/10\",[10,39.253]],[\"comment/10\",[]],[\"name/11\",[11,39.253]],[\"comment/11\",[]],[\"name/12\",[12,39.253]],[\"comment/12\",[]],[\"name/13\",[13,39.253]],[\"comment/13\",[]],[\"name/14\",[14,39.253]],[\"comment/14\",[]],[\"name/15\",[15,39.253]],[\"comment/15\",[]],[\"name/16\",[16,39.253]],[\"comment/16\",[]],[\"name/17\",[17,39.253]],[\"comment/17\",[]],[\"name/18\",[18,39.253]],[\"comment/18\",[]],[\"name/19\",[19,39.253]],[\"comment/19\",[]],[\"name/20\",[20,39.253]],[\"comment/20\",[]],[\"name/21\",[21,39.253]],[\"comment/21\",[]],[\"name/22\",[22,39.253]],[\"comment/22\",[]],[\"name/23\",[23,39.253]],[\"comment/23\",[]],[\"name/24\",[24,37.246]],[\"comment/24\",[]],[\"name/25\",[25,39.253]],[\"comment/25\",[]],[\"name/26\",[26,39.253]],[\"comment/26\",[]],[\"name/27\",[27,37.246]],[\"comment/27\",[]],[\"name/28\",[28,37.246]],[\"comment/28\",[]],[\"name/29\",[29,39.253]],[\"comment/29\",[]],[\"name/30\",[30,39.253]],[\"comment/30\",[]],[\"name/31\",[31,39.253]],[\"comment/31\",[]],[\"name/32\",[32,39.253]],[\"comment/32\",[]],[\"name/33\",[33,39.253]],[\"comment/33\",[]],[\"name/34\",[34,39.253]],[\"comment/34\",[]],[\"name/35\",[35,39.253]],[\"comment/35\",[]],[\"name/36\",[36,34.144]],[\"comment/36\",[]],[\"name/37\",[37,50.239]],[\"comment/37\",[]],[\"name/38\",[1,34.144]],[\"comment/38\",[]],[\"name/39\",[5,34.144]],[\"comment/39\",[]],[\"name/40\",[6,39.253]],[\"comment/40\",[]],[\"name/41\",[7,39.253]],[\"comment/41\",[]],[\"name/42\",[8,39.253]],[\"comment/42\",[]],[\"name/43\",[9,39.253]],[\"comment/43\",[]],[\"name/44\",[10,39.253]],[\"comment/44\",[]],[\"name/45\",[11,39.253]],[\"comment/45\",[]],[\"name/46\",[12,39.253]],[\"comment/46\",[]],[\"name/47\",[3,39.253]],[\"comment/47\",[]],[\"name/48\",[4,39.253]],[\"comment/48\",[]],[\"name/49\",[13,39.253]],[\"comment/49\",[]],[\"name/50\",[14,39.253]],[\"comment/50\",[]],[\"name/51\",[15,39.253]],[\"comment/51\",[]],[\"name/52\",[2,39.253]],[\"comment/52\",[]],[\"name/53\",[16,39.253]],[\"comment/53\",[]],[\"name/54\",[17,39.253]],[\"comment/54\",[]],[\"name/55\",[18,39.253]],[\"comment/55\",[]],[\"name/56\",[19,39.253]],[\"comment/56\",[]],[\"name/57\",[20,39.253]],[\"comment/57\",[]],[\"name/58\",[21,39.253]],[\"comment/58\",[]],[\"name/59\",[22,39.253]],[\"comment/59\",[]],[\"name/60\",[23,39.253]],[\"comment/60\",[]],[\"name/61\",[24,37.246]],[\"comment/61\",[]],[\"name/62\",[25,39.253]],[\"comment/62\",[]],[\"name/63\",[26,39.253]],[\"comment/63\",[]],[\"name/64\",[27,37.246]],[\"comment/64\",[]],[\"name/65\",[28,37.246]],[\"comment/65\",[]],[\"name/66\",[29,39.253]],[\"comment/66\",[]],[\"name/67\",[30,39.253]],[\"comment/67\",[]],[\"name/68\",[31,39.253]],[\"comment/68\",[]],[\"name/69\",[32,39.253]],[\"comment/69\",[]],[\"name/70\",[33,39.253]],[\"comment/70\",[]],[\"name/71\",[34,39.253]],[\"comment/71\",[]],[\"name/72\",[35,39.253]],[\"comment/72\",[]],[\"name/73\",[36,34.144]],[\"comment/73\",[]],[\"name/74\",[38,50.239]],[\"comment/74\",[]],[\"name/75\",[39,50.239]],[\"comment/75\",[]],[\"name/76\",[40,45.131]],[\"comment/76\",[]],[\"name/77\",[41,41.766]],[\"comment/77\",[]],[\"name/78\",[42,41.766]],[\"comment/78\",[]],[\"name/79\",[43,41.766]],[\"comment/79\",[]],[\"name/80\",[44,41.766]],[\"comment/80\",[]],[\"name/81\",[45,45.131]],[\"comment/81\",[]],[\"name/82\",[46,50.239]],[\"comment/82\",[]],[\"name/83\",[27,37.246]],[\"comment/83\",[]],[\"name/84\",[28,37.246]],[\"comment/84\",[]],[\"name/85\",[24,37.246]],[\"comment/85\",[]],[\"name/86\",[47,50.239]],[\"comment/86\",[]],[\"name/87\",[40,45.131]],[\"comment/87\",[]],[\"name/88\",[41,41.766]],[\"comment/88\",[]],[\"name/89\",[42,41.766]],[\"comment/89\",[]],[\"name/90\",[43,41.766]],[\"comment/90\",[]],[\"name/91\",[44,41.766]],[\"comment/91\",[]],[\"name/92\",[45,45.131]],[\"comment/92\",[]],[\"name/93\",[41,41.766]],[\"comment/93\",[]],[\"name/94\",[36,34.144]],[\"comment/94\",[]],[\"name/95\",[43,41.766]],[\"comment/95\",[]],[\"name/96\",[36,34.144]],[\"comment/96\",[]],[\"name/97\",[48,50.239]],[\"comment/97\",[]],[\"name/98\",[49,50.239]],[\"comment/98\",[]],[\"name/99\",[50,50.239]],[\"comment/99\",[]],[\"name/100\",[51,50.239]],[\"comment/100\",[]],[\"name/101\",[42,41.766]],[\"comment/101\",[]],[\"name/102\",[36,34.144]],[\"comment/102\",[]],[\"name/103\",[52,50.239]],[\"comment/103\",[]],[\"name/104\",[44,41.766]],[\"comment/104\",[]],[\"name/105\",[53,50.239]],[\"comment/105\",[]],[\"name/106\",[1,34.144]],[\"comment/106\",[]],[\"name/107\",[2,39.253]],[\"comment/107\",[]],[\"name/108\",[3,39.253]],[\"comment/108\",[]],[\"name/109\",[4,39.253]],[\"comment/109\",[]],[\"name/110\",[7,39.253]],[\"comment/110\",[]],[\"name/111\",[8,39.253]],[\"comment/111\",[]],[\"name/112\",[9,39.253]],[\"comment/112\",[]],[\"name/113\",[10,39.253]],[\"comment/113\",[]],[\"name/114\",[11,39.253]],[\"comment/114\",[]],[\"name/115\",[12,39.253]],[\"comment/115\",[]],[\"name/116\",[13,39.253]],[\"comment/116\",[]],[\"name/117\",[14,39.253]],[\"comment/117\",[]],[\"name/118\",[15,39.253]],[\"comment/118\",[]],[\"name/119\",[16,39.253]],[\"comment/119\",[]],[\"name/120\",[17,39.253]],[\"comment/120\",[]],[\"name/121\",[18,39.253]],[\"comment/121\",[]],[\"name/122\",[19,39.253]],[\"comment/122\",[]],[\"name/123\",[20,39.253]],[\"comment/123\",[]],[\"name/124\",[5,34.144]],[\"comment/124\",[]],[\"name/125\",[21,39.253]],[\"comment/125\",[]],[\"name/126\",[22,39.253]],[\"comment/126\",[]],[\"name/127\",[23,39.253]],[\"comment/127\",[]],[\"name/128\",[24,37.246]],[\"comment/128\",[]],[\"name/129\",[25,39.253]],[\"comment/129\",[]],[\"name/130\",[26,39.253]],[\"comment/130\",[]],[\"name/131\",[27,37.246]],[\"comment/131\",[]],[\"name/132\",[28,37.246]],[\"comment/132\",[]],[\"name/133\",[6,39.253]],[\"comment/133\",[]],[\"name/134\",[29,39.253]],[\"comment/134\",[]],[\"name/135\",[30,39.253]],[\"comment/135\",[]],[\"name/136\",[31,39.253]],[\"comment/136\",[]],[\"name/137\",[32,39.253]],[\"comment/137\",[]],[\"name/138\",[33,39.253]],[\"comment/138\",[]],[\"name/139\",[34,39.253]],[\"comment/139\",[]],[\"name/140\",[35,39.253]],[\"comment/140\",[]],[\"name/141\",[36,34.144]],[\"comment/141\",[]],[\"name/142\",[54,50.239]],[\"comment/142\",[]],[\"name/143\",[1,34.144]],[\"comment/143\",[]],[\"name/144\",[7,39.253]],[\"comment/144\",[]],[\"name/145\",[8,39.253]],[\"comment/145\",[]],[\"name/146\",[9,39.253]],[\"comment/146\",[]],[\"name/147\",[10,39.253]],[\"comment/147\",[]],[\"name/148\",[11,39.253]],[\"comment/148\",[]],[\"name/149\",[12,39.253]],[\"comment/149\",[]],[\"name/150\",[3,39.253]],[\"comment/150\",[]],[\"name/151\",[4,39.253]],[\"comment/151\",[]],[\"name/152\",[13,39.253]],[\"comment/152\",[]],[\"name/153\",[14,39.253]],[\"comment/153\",[]],[\"name/154\",[15,39.253]],[\"comment/154\",[]],[\"name/155\",[2,39.253]],[\"comment/155\",[]],[\"name/156\",[16,39.253]],[\"comment/156\",[]],[\"name/157\",[17,39.253]],[\"comment/157\",[]],[\"name/158\",[18,39.253]],[\"comment/158\",[]],[\"name/159\",[19,39.253]],[\"comment/159\",[]],[\"name/160\",[20,39.253]],[\"comment/160\",[]],[\"name/161\",[5,34.144]],[\"comment/161\",[]],[\"name/162\",[21,39.253]],[\"comment/162\",[]],[\"name/163\",[22,39.253]],[\"comment/163\",[]],[\"name/164\",[23,39.253]],[\"comment/164\",[]],[\"name/165\",[24,37.246]],[\"comment/165\",[]],[\"name/166\",[25,39.253]],[\"comment/166\",[]],[\"name/167\",[26,39.253]],[\"comment/167\",[]],[\"name/168\",[27,37.246]],[\"comment/168\",[]],[\"name/169\",[28,37.246]],[\"comment/169\",[]],[\"name/170\",[6,39.253]],[\"comment/170\",[]],[\"name/171\",[29,39.253]],[\"comment/171\",[]],[\"name/172\",[30,39.253]],[\"comment/172\",[]],[\"name/173\",[31,39.253]],[\"comment/173\",[]],[\"name/174\",[32,39.253]],[\"comment/174\",[]],[\"name/175\",[33,39.253]],[\"comment/175\",[]],[\"name/176\",[34,39.253]],[\"comment/176\",[]],[\"name/177\",[35,39.253]],[\"comment/177\",[]],[\"name/178\",[36,34.144]],[\"comment/178\",[]],[\"name/179\",[55,50.239]],[\"comment/179\",[]],[\"name/180\",[56,50.239]],[\"comment/180\",[]],[\"name/181\",[1,34.144]],[\"comment/181\",[]],[\"name/182\",[57,41.766]],[\"comment/182\",[]],[\"name/183\",[58,41.766]],[\"comment/183\",[]],[\"name/184\",[5,34.144]],[\"comment/184\",[]],[\"name/185\",[59,41.766]],[\"comment/185\",[]],[\"name/186\",[60,41.766]],[\"comment/186\",[]],[\"name/187\",[61,50.239]],[\"comment/187\",[]],[\"name/188\",[62,50.239]],[\"comment/188\",[]],[\"name/189\",[63,41.766]],[\"comment/189\",[]],[\"name/190\",[64,41.766]],[\"comment/190\",[]],[\"name/191\",[65,41.766]],[\"comment/191\",[]],[\"name/192\",[66,41.766]],[\"comment/192\",[]],[\"name/193\",[67,41.766]],[\"comment/193\",[]],[\"name/194\",[68,41.766]],[\"comment/194\",[]],[\"name/195\",[69,50.239]],[\"comment/195\",[]],[\"name/196\",[1,34.144]],[\"comment/196\",[]],[\"name/197\",[64,41.766]],[\"comment/197\",[]],[\"name/198\",[66,41.766]],[\"comment/198\",[]],[\"name/199\",[57,41.766]],[\"comment/199\",[]],[\"name/200\",[58,41.766]],[\"comment/200\",[]],[\"name/201\",[5,34.144]],[\"comment/201\",[]],[\"name/202\",[59,41.766]],[\"comment/202\",[]],[\"name/203\",[60,41.766]],[\"comment/203\",[]],[\"name/204\",[63,41.766]],[\"comment/204\",[]],[\"name/205\",[65,41.766]],[\"comment/205\",[]],[\"name/206\",[67,41.766]],[\"comment/206\",[]],[\"name/207\",[68,41.766]],[\"comment/207\",[]],[\"name/208\",[70,50.239]],[\"comment/208\",[]],[\"name/209\",[1,34.144]],[\"comment/209\",[]],[\"name/210\",[64,41.766]],[\"comment/210\",[]],[\"name/211\",[57,41.766]],[\"comment/211\",[]],[\"name/212\",[58,41.766]],[\"comment/212\",[]],[\"name/213\",[5,34.144]],[\"comment/213\",[]],[\"name/214\",[59,41.766]],[\"comment/214\",[]],[\"name/215\",[60,41.766]],[\"comment/215\",[]],[\"name/216\",[63,41.766]],[\"comment/216\",[]],[\"name/217\",[65,41.766]],[\"comment/217\",[]],[\"name/218\",[66,41.766]],[\"comment/218\",[]],[\"name/219\",[67,41.766]],[\"comment/219\",[]],[\"name/220\",[68,41.766]],[\"comment/220\",[]],[\"name/221\",[71,50.239]],[\"comment/221\",[]],[\"name/222\",[72,45.131]],[\"comment/222\",[]],[\"name/223\",[73,50.239]],[\"comment/223\",[]],[\"name/224\",[74,50.239]],[\"comment/224\",[]],[\"name/225\",[75,50.239]],[\"comment/225\",[]],[\"name/226\",[72,45.131]],[\"comment/226\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":36,\"name\":{\"36\":{},\"73\":{},\"94\":{},\"96\":{},\"102\":{},\"141\":{},\"178\":{}},\"comment\":{}}],[\"abstractworker\",{\"_index\":56,\"name\":{\"180\":{}},\"comment\":{}}],[\"afterworkersetup\",{\"_index\":12,\"name\":{\"12\":{},\"46\":{},\"115\":{},\"149\":{}},\"comment\":{}}],[\"aliveinterval\",{\"_index\":58,\"name\":{\"183\":{},\"200\":{},\"212\":{}},\"comment\":{}}],[\"async\",{\"_index\":75,\"name\":{\"225\":{}},\"comment\":{}}],[\"busy\",{\"_index\":4,\"name\":{\"4\":{},\"48\":{},\"109\":{},\"151\":{}},\"comment\":{}}],[\"checkalive\",{\"_index\":65,\"name\":{\"191\":{},\"205\":{},\"217\":{}},\"comment\":{}}],[\"checkfunctioninput\",{\"_index\":62,\"name\":{\"188\":{}},\"comment\":{}}],[\"checkworkeroptions\",{\"_index\":61,\"name\":{\"187\":{}},\"comment\":{}}],[\"chooseworker\",{\"_index\":32,\"name\":{\"32\":{},\"69\":{},\"137\":{},\"174\":{}},\"comment\":{}}],[\"clusterpooloptions\",{\"_index\":38,\"name\":{\"74\":{}},\"comment\":{}}],[\"clusterworker\",{\"_index\":69,\"name\":{\"195\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":1,\"name\":{\"1\":{},\"38\":{},\"106\":{},\"143\":{},\"181\":{},\"196\":{},\"209\":{}},\"comment\":{}}],[\"createandsetupworker\",{\"_index\":34,\"name\":{\"34\":{},\"71\":{},\"139\":{},\"176\":{}},\"comment\":{}}],[\"createworker\",{\"_index\":11,\"name\":{\"11\":{},\"45\":{},\"114\":{},\"148\":{}},\"comment\":{}}],[\"decreaseworkerstasks\",{\"_index\":30,\"name\":{\"30\":{},\"67\":{},\"135\":{},\"172\":{}},\"comment\":{}}],[\"destroy\",{\"_index\":28,\"name\":{\"28\":{},\"65\":{},\"84\":{},\"132\":{},\"169\":{}},\"comment\":{}}],[\"destroyworker\",{\"_index\":8,\"name\":{\"8\":{},\"42\":{},\"111\":{},\"145\":{}},\"comment\":{}}],[\"dynamicclusterpool\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"dynamicthreadpool\",{\"_index\":53,\"name\":{\"105\":{}},\"comment\":{}}],[\"emitter\",{\"_index\":15,\"name\":{\"15\":{},\"51\":{},\"118\":{},\"154\":{}},\"comment\":{}}],[\"enableevents\",{\"_index\":45,\"name\":{\"81\":{},\"92\":{}},\"comment\":{}}],[\"env\",{\"_index\":39,\"name\":{\"75\":{}},\"comment\":{}}],[\"errorhandler\",{\"_index\":41,\"name\":{\"77\":{},\"88\":{},\"93\":{}},\"comment\":{}}],[\"execute\",{\"_index\":27,\"name\":{\"27\":{},\"64\":{},\"83\":{},\"131\":{},\"168\":{}},\"comment\":{}}],[\"exithandler\",{\"_index\":43,\"name\":{\"79\":{},\"90\":{},\"95\":{}},\"comment\":{}}],[\"filepath\",{\"_index\":20,\"name\":{\"20\":{},\"57\":{},\"123\":{},\"160\":{}},\"comment\":{}}],[\"findfreeworker\",{\"_index\":26,\"name\":{\"26\":{},\"63\":{},\"130\":{},\"167\":{}},\"comment\":{}}],[\"fixedclusterpool\",{\"_index\":37,\"name\":{\"37\":{}},\"comment\":{}}],[\"fixedthreadpool\",{\"_index\":54,\"name\":{\"142\":{}},\"comment\":{}}],[\"getmainworker\",{\"_index\":63,\"name\":{\"189\":{},\"204\":{},\"216\":{}},\"comment\":{}}],[\"getworkerindex\",{\"_index\":23,\"name\":{\"23\":{},\"60\":{},\"127\":{},\"164\":{}},\"comment\":{}}],[\"getworkerrunningtasks\",{\"_index\":22,\"name\":{\"22\":{},\"59\":{},\"126\":{},\"163\":{}},\"comment\":{}}],[\"handleerror\",{\"_index\":66,\"name\":{\"192\":{},\"198\":{},\"218\":{}},\"comment\":{}}],[\"id\",{\"_index\":49,\"name\":{\"98\":{}},\"comment\":{}}],[\"increaseworkerstask\",{\"_index\":29,\"name\":{\"29\":{},\"66\":{},\"134\":{},\"171\":{}},\"comment\":{}}],[\"internalexecute\",{\"_index\":33,\"name\":{\"33\":{},\"70\":{},\"138\":{},\"175\":{}},\"comment\":{}}],[\"internalgetbusystatus\",{\"_index\":25,\"name\":{\"25\":{},\"62\":{},\"129\":{},\"166\":{}},\"comment\":{}}],[\"ipool\",{\"_index\":46,\"name\":{\"82\":{}},\"comment\":{}}],[\"ipoolworker\",{\"_index\":48,\"name\":{\"97\":{}},\"comment\":{}}],[\"ismain\",{\"_index\":7,\"name\":{\"7\":{},\"41\":{},\"110\":{},\"144\":{}},\"comment\":{}}],[\"killbehavior\",{\"_index\":72,\"name\":{\"222\":{},\"226\":{}},\"comment\":{}}],[\"killbehaviors\",{\"_index\":71,\"name\":{\"221\":{}},\"comment\":{}}],[\"lasttasktimestamp\",{\"_index\":57,\"name\":{\"182\":{},\"199\":{},\"211\":{}},\"comment\":{}}],[\"mainworker\",{\"_index\":59,\"name\":{\"185\":{},\"202\":{},\"214\":{}},\"comment\":{}}],[\"max\",{\"_index\":2,\"name\":{\"2\":{},\"52\":{},\"107\":{},\"155\":{}},\"comment\":{}}],[\"maxinactivetime\",{\"_index\":74,\"name\":{\"224\":{}},\"comment\":{}}],[\"messagehandler\",{\"_index\":40,\"name\":{\"76\":{},\"87\":{}},\"comment\":{}}],[\"messagelistener\",{\"_index\":60,\"name\":{\"186\":{},\"203\":{},\"215\":{}},\"comment\":{}}],[\"nextmessageid\",{\"_index\":17,\"name\":{\"17\":{},\"54\":{},\"120\":{},\"157\":{}},\"comment\":{}}],[\"numberofrunningtasks\",{\"_index\":21,\"name\":{\"21\":{},\"58\":{},\"125\":{},\"162\":{}},\"comment\":{}}],[\"numberofworkers\",{\"_index\":19,\"name\":{\"19\":{},\"56\":{},\"122\":{},\"159\":{}},\"comment\":{}}],[\"on\",{\"_index\":50,\"name\":{\"99\":{}},\"comment\":{}}],[\"once\",{\"_index\":51,\"name\":{\"100\":{}},\"comment\":{}}],[\"onlinehandler\",{\"_index\":42,\"name\":{\"78\":{},\"89\":{},\"101\":{}},\"comment\":{}}],[\"opts\",{\"_index\":5,\"name\":{\"5\":{},\"39\":{},\"124\":{},\"161\":{},\"184\":{},\"201\":{},\"213\":{}},\"comment\":{}}],[\"pooloptions\",{\"_index\":47,\"name\":{\"86\":{}},\"comment\":{}}],[\"promisemap\",{\"_index\":16,\"name\":{\"16\":{},\"53\":{},\"119\":{},\"156\":{}},\"comment\":{}}],[\"registerworkermessagelistener\",{\"_index\":10,\"name\":{\"10\":{},\"44\":{},\"113\":{},\"147\":{}},\"comment\":{}}],[\"removeworker\",{\"_index\":31,\"name\":{\"31\":{},\"68\":{},\"136\":{},\"173\":{}},\"comment\":{}}],[\"run\",{\"_index\":67,\"name\":{\"193\":{},\"206\":{},\"219\":{}},\"comment\":{}}],[\"runasync\",{\"_index\":68,\"name\":{\"194\":{},\"207\":{},\"220\":{}},\"comment\":{}}],[\"sendtomainworker\",{\"_index\":64,\"name\":{\"190\":{},\"197\":{},\"210\":{}},\"comment\":{}}],[\"sendtoworker\",{\"_index\":9,\"name\":{\"9\":{},\"43\":{},\"112\":{},\"146\":{}},\"comment\":{}}],[\"setuphook\",{\"_index\":6,\"name\":{\"6\":{},\"40\":{},\"133\":{},\"170\":{}},\"comment\":{}}],[\"setworkerchoicestrategy\",{\"_index\":24,\"name\":{\"24\":{},\"61\":{},\"85\":{},\"128\":{},\"165\":{}},\"comment\":{}}],[\"tasks\",{\"_index\":14,\"name\":{\"14\":{},\"50\":{},\"117\":{},\"153\":{}},\"comment\":{}}],[\"threadworker\",{\"_index\":70,\"name\":{\"208\":{}},\"comment\":{}}],[\"threadworkerwithmessagechannel\",{\"_index\":55,\"name\":{\"179\":{}},\"comment\":{}}],[\"type\",{\"_index\":3,\"name\":{\"3\":{},\"47\":{},\"108\":{},\"150\":{}},\"comment\":{}}],[\"workerchoicestrategies\",{\"_index\":52,\"name\":{\"103\":{}},\"comment\":{}}],[\"workerchoicestrategy\",{\"_index\":44,\"name\":{\"80\":{},\"91\":{},\"104\":{}},\"comment\":{}}],[\"workerchoicestrategycontext\",{\"_index\":18,\"name\":{\"18\":{},\"55\":{},\"121\":{},\"158\":{}},\"comment\":{}}],[\"workerlistener\",{\"_index\":35,\"name\":{\"35\":{},\"72\":{},\"140\":{},\"177\":{}},\"comment\":{}}],[\"workeroptions\",{\"_index\":73,\"name\":{\"223\":{}},\"comment\":{}}],[\"workers\",{\"_index\":13,\"name\":{\"13\":{},\"49\":{},\"116\":{},\"152\":{}},\"comment\":{}}]],\"pipeline\":[]}}");
\ No newline at end of file
-@import url("./icons.css");
-
:root {
/* Light */
- --light-color-background: #fcfcfc;
- --light-color-secondary-background: #fff;
+ --light-color-background: #f2f4f8;
+ --light-color-background-secondary: #eff0f1;
+ --light-color-icon-background: var(--light-color-background);
+ --light-color-accent: #c5c7c9;
--light-color-text: #222;
--light-color-text-aside: #707070;
--light-color-link: #4da6ff;
- --light-color-menu-divider: #eee;
- --light-color-menu-divider-focus: #000;
- --light-color-menu-label: #707070;
- --light-color-panel: var(--light-color-secondary-background);
- --light-color-panel-divider: #eee;
- --light-color-comment-tag: #707070;
- --light-color-comment-tag-text: #fff;
- --light-color-ts: #9600ff;
- --light-color-ts-interface: #647f1b;
- --light-color-ts-enum: #937210;
- --light-color-ts-class: #0672de;
+ --light-color-ts: #db1373;
+ --light-color-ts-interface: #139d2c;
+ --light-color-ts-enum: #9c891a;
+ --light-color-ts-class: #2484e5;
+ --light-color-ts-function: #572be7;
+ --light-color-ts-namespace: #b111c9;
--light-color-ts-private: #707070;
- --light-color-toolbar: #fff;
- --light-color-toolbar-text: #333;
- --light-icon-filter: invert(0);
+ --light-color-ts-variable: #4d68ff;
--light-external-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='10' height='10'><path fill-opacity='0' stroke='%23000' stroke-width='10' d='m43,35H5v60h60V57M45,5v10l10,10-30,30 20,20 30-30 10,10h10V5z'/></svg>");
+ --light-color-scheme: light;
/* Dark */
- --dark-color-background: #36393f;
- --dark-color-secondary-background: #2f3136;
- --dark-color-text: #ffffff;
- --dark-color-text-aside: #e6e4e4;
+ --dark-color-background: #2b2e33;
+ --dark-color-background-secondary: #1e2024;
+ --dark-color-icon-background: var(--dark-color-background-secondary);
+ --dark-color-accent: #9096a2;
+ --dark-color-text: #f5f5f5;
+ --dark-color-text-aside: #dddddd;
--dark-color-link: #00aff4;
- --dark-color-menu-divider: #eee;
- --dark-color-menu-divider-focus: #000;
- --dark-color-menu-label: #707070;
- --dark-color-panel: var(--dark-color-secondary-background);
- --dark-color-panel-divider: #818181;
- --dark-color-comment-tag: #dcddde;
- --dark-color-comment-tag-text: #2f3136;
- --dark-color-ts: #c97dff;
- --dark-color-ts-interface: #9cbe3c;
- --dark-color-ts-enum: #d6ab29;
- --dark-color-ts-class: #3695f3;
+ --dark-color-ts: #ff6492;
+ --dark-color-ts-interface: #6cff87;
+ --dark-color-ts-enum: #f4d93e;
+ --dark-color-ts-class: #61b0ff;
+ --dark-color-ts-function: #9772ff;
+ --dark-color-ts-namespace: #e14dff;
--dark-color-ts-private: #e2e2e2;
- --dark-color-toolbar: #34373c;
- --dark-color-toolbar-text: #ffffff;
- --dark-icon-filter: invert(1);
+ --dark-color-ts-variable: #4d68ff;
--dark-external-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='10' height='10'><path fill-opacity='0' stroke='%23fff' stroke-width='10' d='m43,35H5v60h60V57M45,5v10l10,10-30,30 20,20 30-30 10,10h10V5z'/></svg>");
+ --dark-color-scheme: dark;
}
@media (prefers-color-scheme: light) {
:root {
--color-background: var(--light-color-background);
- --color-secondary-background: var(--light-color-secondary-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
--color-text: var(--light-color-text);
--color-text-aside: var(--light-color-text-aside);
--color-link: var(--light-color-link);
- --color-menu-divider: var(--light-color-menu-divider);
- --color-menu-divider-focus: var(--light-color-menu-divider-focus);
- --color-menu-label: var(--light-color-menu-label);
- --color-panel: var(--light-color-panel);
- --color-panel-divider: var(--light-color-panel-divider);
- --color-comment-tag: var(--light-color-comment-tag);
- --color-comment-tag-text: var(--light-color-comment-tag-text);
--color-ts: var(--light-color-ts);
--color-ts-interface: var(--light-color-ts-interface);
--color-ts-enum: var(--light-color-ts-enum);
--color-ts-class: var(--light-color-ts-class);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-namespace: var(--light-color-ts-namespace);
--color-ts-private: var(--light-color-ts-private);
- --color-toolbar: var(--light-color-toolbar);
- --color-toolbar-text: var(--light-color-toolbar-text);
- --icon-filter: var(--light-icon-filter);
+ --color-ts-variable: var(--light-color-ts-variable);
--external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
}
}
@media (prefers-color-scheme: dark) {
:root {
--color-background: var(--dark-color-background);
- --color-secondary-background: var(--dark-color-secondary-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
--color-text: var(--dark-color-text);
--color-text-aside: var(--dark-color-text-aside);
--color-link: var(--dark-color-link);
- --color-menu-divider: var(--dark-color-menu-divider);
- --color-menu-divider-focus: var(--dark-color-menu-divider-focus);
- --color-menu-label: var(--dark-color-menu-label);
- --color-panel: var(--dark-color-panel);
- --color-panel-divider: var(--dark-color-panel-divider);
- --color-comment-tag: var(--dark-color-comment-tag);
- --color-comment-tag-text: var(--dark-color-comment-tag-text);
--color-ts: var(--dark-color-ts);
--color-ts-interface: var(--dark-color-ts-interface);
--color-ts-enum: var(--dark-color-ts-enum);
--color-ts-class: var(--dark-color-ts-class);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
--color-ts-private: var(--dark-color-ts-private);
- --color-toolbar: var(--dark-color-toolbar);
- --color-toolbar-text: var(--dark-color-toolbar-text);
- --icon-filter: var(--dark-icon-filter);
+ --color-ts-variable: var(--dark-color-ts-variable);
--external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
}
}
+html {
+ color-scheme: var(--color-scheme);
+}
+
body {
margin: 0;
}
-body.light {
+:root[data-theme="light"] {
--color-background: var(--light-color-background);
- --color-secondary-background: var(--light-color-secondary-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
--color-text: var(--light-color-text);
--color-text-aside: var(--light-color-text-aside);
--color-link: var(--light-color-link);
- --color-menu-divider: var(--light-color-menu-divider);
- --color-menu-divider-focus: var(--light-color-menu-divider-focus);
- --color-menu-label: var(--light-color-menu-label);
- --color-panel: var(--light-color-panel);
- --color-panel-divider: var(--light-color-panel-divider);
- --color-comment-tag: var(--light-color-comment-tag);
- --color-comment-tag-text: var(--light-color-comment-tag-text);
--color-ts: var(--light-color-ts);
--color-ts-interface: var(--light-color-ts-interface);
--color-ts-enum: var(--light-color-ts-enum);
--color-ts-class: var(--light-color-ts-class);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-namespace: var(--light-color-ts-namespace);
--color-ts-private: var(--light-color-ts-private);
- --color-toolbar: var(--light-color-toolbar);
- --color-toolbar-text: var(--light-color-toolbar-text);
- --icon-filter: var(--light-icon-filter);
+ --color-ts-variable: var(--light-color-ts-variable);
--external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
}
-body.dark {
+:root[data-theme="dark"] {
--color-background: var(--dark-color-background);
- --color-secondary-background: var(--dark-color-secondary-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
--color-text: var(--dark-color-text);
--color-text-aside: var(--dark-color-text-aside);
--color-link: var(--dark-color-link);
- --color-menu-divider: var(--dark-color-menu-divider);
- --color-menu-divider-focus: var(--dark-color-menu-divider-focus);
- --color-menu-label: var(--dark-color-menu-label);
- --color-panel: var(--dark-color-panel);
- --color-panel-divider: var(--dark-color-panel-divider);
- --color-comment-tag: var(--dark-color-comment-tag);
- --color-comment-tag-text: var(--dark-color-comment-tag-text);
--color-ts: var(--dark-color-ts);
--color-ts-interface: var(--dark-color-ts-interface);
--color-ts-enum: var(--dark-color-ts-enum);
--color-ts-class: var(--dark-color-ts-class);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
--color-ts-private: var(--dark-color-ts-private);
- --color-toolbar: var(--dark-color-toolbar);
- --color-toolbar-text: var(--dark-color-toolbar-text);
- --icon-filter: var(--dark-icon-filter);
+ --color-ts-variable: var(--dark-color-ts-variable);
--external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ line-height: 1.2;
}
h1 {
- font-size: 2em;
- margin: 0.67em 0;
+ font-size: 1.875rem;
+ margin: 0.67rem 0;
}
h2 {
- font-size: 1.5em;
- margin: 0.83em 0;
+ font-size: 1.5rem;
+ margin: 0.83rem 0;
}
h3 {
- font-size: 1.17em;
- margin: 1em 0;
+ font-size: 1.25rem;
+ margin: 1rem 0;
}
-h4,
-.tsd-index-panel h3 {
- font-size: 1em;
- margin: 1.33em 0;
+h4 {
+ font-size: 1.05rem;
+ margin: 1.33rem 0;
}
h5 {
- font-size: 0.83em;
- margin: 1.67em 0;
+ font-size: 1rem;
+ margin: 1.5rem 0;
}
h6 {
- font-size: 0.67em;
- margin: 2.33em 0;
+ font-size: 0.875rem;
+ margin: 2.33rem 0;
+}
+
+.uppercase {
+ text-transform: uppercase;
}
pre {
}
.container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 40px;
+ max-width: 1600px;
+ padding: 0 2rem;
+}
+
+@media (min-width: 640px) {
+ .container {
+ padding: 0 4rem;
+ }
}
-@media (max-width: 640px) {
+@media (min-width: 1200px) {
.container {
- padding: 0 20px;
+ padding: 0 8rem;
+ }
+}
+@media (min-width: 1600px) {
+ .container {
+ padding: 0 12rem;
}
}
-.container-main {
- padding-bottom: 200px;
+/* Footer */
+.tsd-generator {
+ border-top: 1px solid var(--color-accent);
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+ max-height: 3.5rem;
+}
+
+.tsd-generator > p {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0 1rem;
}
-.row {
+.container-main {
display: flex;
+ justify-content: space-between;
position: relative;
- margin: 0 -10px;
-}
-.row:after {
- visibility: hidden;
- display: block;
- content: "";
- clear: both;
- height: 0;
+ margin: 0 auto;
}
.col-4,
.col-8 {
box-sizing: border-box;
float: left;
- padding: 0 10px;
+ padding: 2rem 1rem;
}
.col-4 {
- width: 33.3333333333%;
+ flex: 0 0 25%;
}
.col-8 {
- width: 66.6666666667%;
-}
-
-ul.tsd-descriptions > li > :first-child,
-.tsd-panel > :first-child,
-.col-8 > :first-child,
-.col-4 > :first-child,
-ul.tsd-descriptions > li > :first-child > :first-child,
-.tsd-panel > :first-child > :first-child,
-.col-8 > :first-child > :first-child,
-.col-4 > :first-child > :first-child,
-ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
-.tsd-panel > :first-child > :first-child > :first-child,
-.col-8 > :first-child > :first-child > :first-child,
-.col-4 > :first-child > :first-child > :first-child {
- margin-top: 0;
-}
-ul.tsd-descriptions > li > :last-child,
-.tsd-panel > :last-child,
-.col-8 > :last-child,
-.col-4 > :last-child,
-ul.tsd-descriptions > li > :last-child > :last-child,
-.tsd-panel > :last-child > :last-child,
-.col-8 > :last-child > :last-child,
-.col-4 > :last-child > :last-child,
-ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
-.tsd-panel > :last-child > :last-child > :last-child,
-.col-8 > :last-child > :last-child > :last-child,
-.col-4 > :last-child > :last-child > :last-child {
- margin-bottom: 0;
+ flex: 1 0;
+ flex-wrap: wrap;
+ padding-left: 0;
}
@keyframes fade-in {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
padding: 0.2em;
margin: 0;
- font-size: 14px;
+ font-size: 0.875rem;
+ border-radius: 0.8em;
}
pre {
padding: 10px;
+ border: 0.1em solid var(--color-accent);
}
pre code {
padding: 0;
margin: 1em 0;
}
-@media (min-width: 901px) and (max-width: 1024px) {
- html .col-content {
- width: 72%;
- }
- html .col-menu {
- width: 28%;
- }
- html .tsd-navigation {
- padding-left: 10px;
- }
-}
-@media (max-width: 900px) {
+@media (max-width: 1024px) {
html .col-content {
float: none;
+ max-width: 100%;
width: 100%;
+ padding-top: 3rem;
}
html .col-menu {
position: fixed !important;
- overflow: auto;
+ overflow-y: auto;
-webkit-overflow-scrolling: touch;
z-index: 1024;
top: 0 !important;
bottom: 0 !important;
left: auto !important;
right: 0 !important;
- width: 100%;
- padding: 20px 20px 0 0;
- max-width: 450px;
+ padding: 1.5rem 1.5rem 0 0;
+ max-width: 25rem;
visibility: hidden;
- background-color: var(--color-panel);
+ background-color: var(--color-background);
transform: translate(100%, 0);
}
html .col-menu > *:last-child {
visibility: visible;
transform: translate(0, 0);
display: grid;
+ align-items: center;
grid-template-rows: auto 1fr;
+ grid-gap: 1.5rem;
max-height: 100vh;
+ padding: 1rem 2rem;
}
.has-menu .tsd-navigation {
max-height: 100%;
}
}
-.tsd-page-title {
- padding: 70px 0 20px 0;
- margin: 0 0 40px 0;
- background: var(--color-panel);
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
-}
-.tsd-page-title h1 {
- margin: 0;
-}
-
.tsd-breadcrumb {
margin: 0;
padding: 0;
content: " / ";
}
-dl.tsd-comment-tags {
+.tsd-comment-tags {
+ display: flex;
+ flex-direction: column;
+}
+dl.tsd-comment-tag-group {
+ display: flex;
+ align-items: center;
overflow: hidden;
+ margin: 0.5em 0;
}
-dl.tsd-comment-tags dt {
- float: left;
- padding: 1px 5px;
- margin: 0 10px 0 0;
- border-radius: 4px;
- border: 1px solid var(--color-comment-tag);
- color: var(--color-comment-tag);
- font-size: 0.8em;
+dl.tsd-comment-tag-group dt {
+ display: flex;
+ margin-right: 0.5em;
+ font-size: 0.875em;
font-weight: normal;
}
-dl.tsd-comment-tags dd {
- margin: 0 0 10px 0;
+dl.tsd-comment-tag-group dd {
+ margin: 0;
+}
+code.tsd-tag {
+ padding: 0.25em 0.4em;
+ border: 0.1em solid var(--color-accent);
+ margin-right: 0.25em;
+ font-size: 70%;
+}
+h1 code.tsd-tag:first-of-type {
+ margin-left: 0.25em;
}
-dl.tsd-comment-tags dd:before,
-dl.tsd-comment-tags dd:after {
- display: table;
+
+dl.tsd-comment-tag-group dd:before,
+dl.tsd-comment-tag-group dd:after {
content: " ";
}
-dl.tsd-comment-tags dd pre,
-dl.tsd-comment-tags dd:after {
+dl.tsd-comment-tag-group dd pre,
+dl.tsd-comment-tag-group dd:after {
clear: both;
}
-dl.tsd-comment-tags p {
+dl.tsd-comment-tag-group p {
margin: 0;
}
margin-bottom: 0;
}
-.toggle-protected .tsd-is-private {
- display: none;
-}
-
-.toggle-public .tsd-is-private,
-.toggle-public .tsd-is-protected,
-.toggle-public .tsd-is-private-protected {
- display: none;
+.tsd-filter-visibility h4 {
+ font-size: 1rem;
+ padding-top: 0.75rem;
+ padding-bottom: 0.5rem;
+ margin: 0;
}
-
-.toggle-inherited .tsd-is-inherited {
- display: none;
+.tsd-filter-item:not(:last-child) {
+ margin-bottom: 0.5rem;
}
-
-.toggle-externals .tsd-is-external {
- display: none;
+.tsd-filter-input {
+ display: flex;
+ width: fit-content;
+ width: -moz-fit-content;
+ align-items: center;
+ user-select: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ cursor: pointer;
}
-
-#tsd-filter {
- position: relative;
- display: inline-block;
- height: 40px;
- vertical-align: bottom;
+.tsd-filter-input input[type="checkbox"] {
+ cursor: pointer;
+ position: absolute;
+ width: 1.5em;
+ height: 1.5em;
+ opacity: 0;
}
-.no-filter #tsd-filter {
- display: none;
+.tsd-filter-input input[type="checkbox"]:disabled {
+ pointer-events: none;
}
-#tsd-filter .tsd-filter-group {
- display: inline-block;
- height: 40px;
- vertical-align: bottom;
- white-space: nowrap;
+.tsd-filter-input svg {
+ cursor: pointer;
+ width: 1.5em;
+ height: 1.5em;
+ margin-right: 0.5em;
+ border-radius: 0.33em;
+ /* Leaving this at full opacity breaks event listeners on Firefox.
+ Don't remove unless you know what you're doing. */
+ opacity: 0.99;
}
-#tsd-filter input {
- display: none;
+.tsd-filter-input input[type="checkbox"]:focus + svg {
+ transform: scale(0.95);
}
-@media (max-width: 900px) {
- #tsd-filter .tsd-filter-group {
- display: block;
- position: absolute;
- top: 40px;
- right: 20px;
- height: auto;
- background-color: var(--color-panel);
- visibility: hidden;
- transform: translate(50%, 0);
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
- }
- .has-options #tsd-filter .tsd-filter-group {
- visibility: visible;
- }
- .to-has-options #tsd-filter .tsd-filter-group {
- animation: fade-in 0.2s;
- }
- .from-has-options #tsd-filter .tsd-filter-group {
- animation: fade-out 0.2s;
- }
- #tsd-filter label,
- #tsd-filter .tsd-select {
- display: block;
- padding-right: 20px;
- }
+.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg {
+ transform: scale(1);
}
-
-footer {
- border-top: 1px solid var(--color-panel-divider);
- background-color: var(--color-panel);
+.tsd-checkbox-background {
+ fill: var(--color-accent);
}
-footer:after {
- content: "";
- display: table;
+input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
+ stroke: var(--color-text);
}
-footer.with-border-bottom {
- border-bottom: 1px solid var(--color-panel-divider);
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background {
+ fill: var(--color-background);
+ stroke: var(--color-accent);
+ stroke-width: 0.25rem;
}
-footer .tsd-legend-group {
- font-size: 0;
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark {
+ stroke: var(--color-accent);
}
-footer .tsd-legend {
- display: inline-block;
- width: 25%;
- padding: 0;
- font-size: 16px;
- list-style: none;
- line-height: 1.333em;
- vertical-align: top;
+
+.tsd-theme-toggle {
+ padding-top: 0.75rem;
}
-@media (max-width: 900px) {
- footer .tsd-legend {
- width: 50%;
- }
+.tsd-theme-toggle > h4 {
+ display: inline;
+ vertical-align: middle;
+ margin-right: 0.75rem;
}
.tsd-hierarchy {
list-style: square;
- padding: 0 0 0 20px;
margin: 0;
}
.tsd-hierarchy .target {
font-weight: bold;
}
-.tsd-index-panel .tsd-index-content {
- margin-bottom: -30px !important;
-}
-.tsd-index-panel .tsd-index-section {
- margin-bottom: 30px !important;
-}
-.tsd-index-panel h3 {
- margin: 0 -20px 10px -20px;
- padding: 0 20px 10px 20px;
- border-bottom: 1px solid var(--color-panel-divider);
-}
-.tsd-index-panel ul.tsd-index-list {
- -webkit-column-count: 3;
- -moz-column-count: 3;
- -ms-column-count: 3;
- -o-column-count: 3;
- column-count: 3;
- -webkit-column-gap: 20px;
- -moz-column-gap: 20px;
- -ms-column-gap: 20px;
- -o-column-gap: 20px;
- column-gap: 20px;
- padding: 0;
+.tsd-panel-group.tsd-index-group {
+ margin-bottom: 0;
+}
+.tsd-index-panel .tsd-index-list {
list-style: none;
line-height: 1.333em;
-}
-@media (max-width: 900px) {
- .tsd-index-panel ul.tsd-index-list {
- -webkit-column-count: 1;
- -moz-column-count: 1;
- -ms-column-count: 1;
- -o-column-count: 1;
- column-count: 1;
+ margin: 0;
+ padding: 0.25rem 0 0 0;
+ overflow: hidden;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ column-gap: 1rem;
+ grid-template-rows: auto;
+}
+@media (max-width: 1024px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(2, 1fr);
}
}
-@media (min-width: 901px) and (max-width: 1024px) {
- .tsd-index-panel ul.tsd-index-list {
- -webkit-column-count: 2;
- -moz-column-count: 2;
- -ms-column-count: 2;
- -o-column-count: 2;
- column-count: 2;
+@media (max-width: 768px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(1, 1fr);
}
}
-.tsd-index-panel ul.tsd-index-list li {
+.tsd-index-panel .tsd-index-list li {
-webkit-page-break-inside: avoid;
-moz-page-break-inside: avoid;
-ms-page-break-inside: avoid;
page-break-inside: avoid;
}
.tsd-index-panel a,
-.tsd-index-panel .tsd-parent-kind-module a {
+.tsd-index-panel a.tsd-parent-kind-module {
color: var(--color-ts);
}
-.tsd-index-panel .tsd-parent-kind-interface a {
+.tsd-index-panel a.tsd-parent-kind-interface {
color: var(--color-ts-interface);
}
-.tsd-index-panel .tsd-parent-kind-enum a {
+.tsd-index-panel a.tsd-parent-kind-enum {
color: var(--color-ts-enum);
}
-.tsd-index-panel .tsd-parent-kind-class a {
+.tsd-index-panel a.tsd-parent-kind-class {
color: var(--color-ts-class);
}
-.tsd-index-panel .tsd-kind-module a {
- color: var(--color-ts);
+.tsd-index-panel a.tsd-kind-module {
+ color: var(--color-ts-namespace);
}
-.tsd-index-panel .tsd-kind-interface a {
+.tsd-index-panel a.tsd-kind-interface {
color: var(--color-ts-interface);
}
-.tsd-index-panel .tsd-kind-enum a {
+.tsd-index-panel a.tsd-kind-enum {
color: var(--color-ts-enum);
}
-.tsd-index-panel .tsd-kind-class a {
+.tsd-index-panel a.tsd-kind-class {
color: var(--color-ts-class);
}
-.tsd-index-panel .tsd-is-private a {
+.tsd-index-panel a.tsd-kind-function {
+ color: var(--color-ts-function);
+}
+.tsd-index-panel a.tsd-kind-namespace {
+ color: var(--color-ts-namespace);
+}
+.tsd-index-panel a.tsd-kind-variable {
+ color: var(--color-ts-variable);
+}
+.tsd-index-panel a.tsd-is-private {
color: var(--color-ts-private);
}
.tsd-flag {
display: inline-block;
- padding: 1px 5px;
+ padding: 0.25em 0.4em;
border-radius: 4px;
color: var(--color-comment-tag-text);
background-color: var(--color-comment-tag);
text-indent: 0;
- font-size: 14px;
+ font-size: 75%;
+ line-height: 1;
font-weight: normal;
}
position: relative;
}
.tsd-member .tsd-anchor + h3 {
+ display: flex;
+ align-items: center;
margin-top: 0;
margin-bottom: 0;
border-bottom: none;
color: var(--color-ts-private);
}
-.tsd-navigation {
- margin: 0 0 0 40px;
-}
.tsd-navigation a {
display: block;
- padding-top: 2px;
- padding-bottom: 2px;
+ margin: 0.4rem 0;
border-left: 2px solid transparent;
color: var(--color-text);
text-decoration: none;
padding: 0;
}
-.tsd-navigation.primary {
- padding-bottom: 40px;
+.tsd-navigation.primary .tsd-accordion-details > ul {
+ margin-top: 0.75rem;
}
.tsd-navigation.primary a {
- display: block;
- padding-top: 6px;
- padding-bottom: 6px;
+ padding: 0.75rem 0.5rem;
+ margin: 0;
}
.tsd-navigation.primary ul li a {
- padding-left: 5px;
+ margin-left: 0.5rem;
}
.tsd-navigation.primary ul li li a {
- padding-left: 25px;
+ margin-left: 1.5rem;
}
.tsd-navigation.primary ul li li li a {
- padding-left: 45px;
+ margin-left: 2.5rem;
}
.tsd-navigation.primary ul li li li li a {
- padding-left: 65px;
+ margin-left: 3.5rem;
}
.tsd-navigation.primary ul li li li li li a {
- padding-left: 85px;
+ margin-left: 4.5rem;
}
.tsd-navigation.primary ul li li li li li li a {
- padding-left: 105px;
-}
-.tsd-navigation.primary > ul {
- border-bottom: 1px solid var(--color-panel-divider);
-}
-.tsd-navigation.primary li {
- border-top: 1px solid var(--color-panel-divider);
+ margin-left: 5.5rem;
}
.tsd-navigation.primary li.current > a {
+ border-left: 0.15rem var(--color-text) solid;
+}
+.tsd-navigation.primary li.selected > a {
font-weight: bold;
+ border-left: 0.2rem var(--color-text) solid;
}
-.tsd-navigation.primary li.label span {
- display: block;
- padding: 20px 0 6px 5px;
- color: var(--color-menu-label);
+.tsd-navigation.primary ul li a:hover {
+ border-left: 0.2rem var(--color-text-aside) solid;
}
.tsd-navigation.primary li.globals + li > span,
.tsd-navigation.primary li.globals + li > a {
padding-top: 20px;
}
-.tsd-navigation.secondary {
- max-height: calc(100vh - 1rem - 40px);
- overflow: auto;
- position: sticky;
- top: calc(0.5rem + 40px);
- transition: 0.3s;
-}
.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
max-height: calc(100vh - 1rem);
top: 0.5rem;
}
-.tsd-navigation.secondary ul {
+.tsd-navigation.secondary > ul {
+ display: inline;
+ padding-right: 0.5rem;
transition: opacity 0.2s;
}
.tsd-navigation.secondary ul li a {
- padding-left: 25px;
+ padding-left: 0;
}
.tsd-navigation.secondary ul li li a {
- padding-left: 45px;
+ padding-left: 1.1rem;
}
.tsd-navigation.secondary ul li li li a {
- padding-left: 65px;
+ padding-left: 2.2rem;
}
.tsd-navigation.secondary ul li li li li a {
- padding-left: 85px;
+ padding-left: 3.3rem;
}
.tsd-navigation.secondary ul li li li li li a {
- padding-left: 105px;
+ padding-left: 4.4rem;
}
.tsd-navigation.secondary ul li li li li li li a {
- padding-left: 125px;
+ padding-left: 5.5rem;
+}
+
+a.tsd-index-link {
+ margin: 0.25rem 0;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ display: inline-flex;
+ align-items: center;
+}
+.tsd-accordion-summary > h1,
+.tsd-accordion-summary > h2,
+.tsd-accordion-summary > h3,
+.tsd-accordion-summary > h4,
+.tsd-accordion-summary > h5 {
+ display: inline-flex;
+ align-items: center;
+ vertical-align: middle;
+ margin-bottom: 0;
+ user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+}
+.tsd-accordion-summary {
+ display: block;
+ cursor: pointer;
}
-.tsd-navigation.secondary ul.current a {
- border-left-color: var(--color-panel-divider);
+.tsd-accordion-summary > * {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 0;
+ padding-bottom: 0;
}
-.tsd-navigation.secondary li.focus > a,
-.tsd-navigation.secondary ul.current li.focus > a {
- border-left-color: var(--color-menu-divider-focus);
+.tsd-accordion-summary::-webkit-details-marker {
+ display: none;
}
-.tsd-navigation.secondary li.current {
- margin-top: 20px;
- margin-bottom: 20px;
- border-left-color: var(--color-panel-divider);
+.tsd-index-accordion .tsd-accordion-summary svg {
+ margin-right: 0.25rem;
}
-.tsd-navigation.secondary li.current > a {
- font-weight: bold;
+.tsd-index-content > :not(:first-child) {
+ margin-top: 0.75rem;
+}
+.tsd-index-heading {
+ margin-top: 1.5rem;
+ margin-bottom: 0.75rem;
+}
+
+.tsd-kind-icon {
+ margin-right: 0.5rem;
+ width: 1.25rem;
+ height: 1.25rem;
+ min-width: 1.25rem;
+ min-height: 1.25rem;
+}
+.tsd-kind-icon path {
+ transform-origin: center;
+ transform: scale(1.1);
+}
+.tsd-signature > .tsd-kind-icon {
+ margin-right: 0.8rem;
}
-@media (min-width: 901px) {
+@media (min-width: 1024px) {
+ .col-content {
+ margin: 2rem auto;
+ }
+
.menu-sticky-wrap {
- position: static;
+ position: sticky;
+ height: calc(100vh - 2rem);
+ top: 4rem;
+ right: 0;
+ padding: 0 1.5rem;
+ padding-top: 1rem;
+ margin-top: 3rem;
+ transition: 0.3s ease-in-out;
+ transition-property: top, padding-top, padding, height;
+ overflow-y: auto;
+ }
+ .col-menu {
+ border-left: 1px solid var(--color-accent);
+ }
+ .col-menu--hide {
+ top: 1rem;
+ }
+ .col-menu .tsd-navigation:not(:last-child) {
+ padding-bottom: 1.75rem;
}
}
.tsd-panel {
- margin: 20px 0;
- padding: 20px;
- background-color: var(--color-panel);
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+ margin-bottom: 2.5rem;
+}
+.tsd-panel.tsd-member {
+ margin-bottom: 4rem;
}
.tsd-panel:empty {
display: none;
.tsd-panel > h1,
.tsd-panel > h2,
.tsd-panel > h3 {
- margin: 1.5em -20px 10px -20px;
- padding: 0 20px 10px 20px;
- border-bottom: 1px solid var(--color-panel-divider);
+ margin: 1.5rem -1.5rem 0.75rem -1.5rem;
+ padding: 0 1.5rem 0.75rem 1.5rem;
}
.tsd-panel > h1.tsd-before-signature,
.tsd-panel > h2.tsd-before-signature,
.tsd-panel > h3.tsd-before-signature {
margin-bottom: 0;
- border-bottom: 0;
-}
-.tsd-panel table {
- display: block;
- width: 100%;
- overflow: auto;
- margin-top: 10px;
- word-break: normal;
- word-break: keep-all;
- border-collapse: collapse;
-}
-.tsd-panel table th {
- font-weight: bold;
-}
-.tsd-panel table th,
-.tsd-panel table td {
- padding: 6px 13px;
- border: 1px solid var(--color-panel-divider);
-}
-.tsd-panel table tr {
- background: var(--color-background);
-}
-.tsd-panel table tr:nth-child(even) {
- background: var(--color-secondary-background);
+ border-bottom: none;
}
.tsd-panel-group {
- margin: 60px 0;
+ margin: 4rem 0;
}
-.tsd-panel-group > h1,
-.tsd-panel-group > h2,
-.tsd-panel-group > h3 {
- padding-left: 20px;
- padding-right: 20px;
+.tsd-panel-group.tsd-index-group {
+ margin: 2rem 0;
+}
+.tsd-panel-group.tsd-index-group details {
+ margin: 2rem 0;
}
#tsd-search {
position: absolute;
left: 0;
top: 0;
- right: 40px;
- height: 40px;
+ right: 2.5rem;
+ height: 100%;
}
#tsd-search .field input {
box-sizing: border-box;
background-color: var(--color-background);
}
#tsd-search .results li:nth-child(even) {
- background-color: var(--color-panel);
+ background-color: var(--color-background-secondary);
}
#tsd-search .results li.state {
display: none;
}
#tsd-search .results li.current,
#tsd-search .results li:hover {
- background-color: var(--color-panel-divider);
+ background-color: var(--color-accent);
}
#tsd-search .results a {
display: block;
font-weight: normal;
}
#tsd-search.has-focus {
- background-color: var(--color-panel-divider);
+ background-color: var(--color-accent);
}
#tsd-search.has-focus .field input {
top: 0;
}
.tsd-signature {
- margin: 0 0 1em 0;
- padding: 10px;
- border: 1px solid var(--color-panel-divider);
+ margin: 0 0 1rem 0;
+ padding: 1rem 0.5rem;
+ border: 1px solid var(--color-accent);
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
font-size: 14px;
overflow-x: auto;
}
-.tsd-signature.tsd-kind-icon {
- padding-left: 30px;
-}
-.tsd-signature.tsd-kind-icon:before {
- top: 10px;
- left: 10px;
-}
-.tsd-panel > .tsd-signature {
- margin-left: -20px;
- margin-right: -20px;
- border-width: 1px 0;
-}
-.tsd-panel > .tsd-signature.tsd-kind-icon {
- padding-left: 40px;
-}
-.tsd-panel > .tsd-signature.tsd-kind-icon:before {
- left: 20px;
-}
.tsd-signature-symbol {
color: var(--color-text-aside);
.tsd-signatures {
padding: 0;
margin: 0 0 1em 0;
- border: 1px solid var(--color-panel-divider);
+ list-style-type: none;
}
.tsd-signatures .tsd-signature {
margin: 0;
- border-width: 1px 0 0 0;
- transition: background-color 0.1s;
-}
-.tsd-signatures .tsd-signature:first-child {
- border-top-width: 0;
-}
-.tsd-signatures .tsd-signature.current {
- background-color: var(--color-panel-divider);
-}
-.tsd-signatures.active > .tsd-signature {
- cursor: pointer;
-}
-.tsd-panel > .tsd-signatures {
- margin-left: -20px;
- margin-right: -20px;
+ border-color: var(--color-accent);
border-width: 1px 0;
+ transition: background-color 0.1s;
}
-.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
- padding-left: 40px;
-}
-.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
- left: 20px;
-}
-.tsd-panel > a.anchor + .tsd-signatures {
- border-top-width: 0;
- margin-top: -20px;
+.tsd-description .tsd-signatures .tsd-signature {
+ border-width: 1px;
}
-ul.tsd-descriptions {
- position: relative;
- overflow: hidden;
- padding: 0;
- list-style: none;
-}
-ul.tsd-descriptions.active > .tsd-description {
- display: none;
-}
-ul.tsd-descriptions.active > .tsd-description.current {
- display: block;
-}
-ul.tsd-descriptions.active > .tsd-description.fade-in {
- animation: fade-in-delayed 0.3s;
-}
-ul.tsd-descriptions.active > .tsd-description.fade-out {
- animation: fade-out-delayed 0.3s;
- position: absolute;
- display: block;
- top: 0;
- left: 0;
- right: 0;
- opacity: 0;
- visibility: hidden;
-}
-ul.tsd-descriptions h4,
-ul.tsd-descriptions .tsd-index-panel h3,
-.tsd-index-panel ul.tsd-descriptions h3 {
- font-size: 16px;
- margin: 1em 0 0.5em 0;
-}
-
-ul.tsd-parameters,
-ul.tsd-type-parameters {
+ul.tsd-parameter-list,
+ul.tsd-type-parameter-list {
list-style: square;
margin: 0;
padding-left: 20px;
}
-ul.tsd-parameters > li.tsd-parameter-signature,
-ul.tsd-type-parameters > li.tsd-parameter-signature {
+ul.tsd-parameter-list > li.tsd-parameter-signature,
+ul.tsd-type-parameter-list > li.tsd-parameter-signature {
list-style: none;
margin-left: -20px;
}
-ul.tsd-parameters h5,
-ul.tsd-type-parameters h5 {
+ul.tsd-parameter-list h5,
+ul.tsd-type-parameter-list h5 {
font-size: 16px;
margin: 1em 0 0.5em 0;
}
-ul.tsd-parameters .tsd-comment,
-ul.tsd-type-parameters .tsd-comment {
- margin-top: -0.5em;
-}
-
.tsd-sources {
- font-size: 14px;
- color: var(--color-text-aside);
- margin: 0 0 1em 0;
+ margin-top: 1rem;
+ font-size: 0.875em;
}
.tsd-sources a {
color: var(--color-text-aside);
text-decoration: underline;
}
-.tsd-sources ul,
-.tsd-sources p {
- margin: 0 !important;
-}
.tsd-sources ul {
list-style: none;
padding: 0;
top: 0;
left: 0;
width: 100%;
- height: 40px;
- color: var(--color-toolbar-text);
- background: var(--color-toolbar);
- border-bottom: 1px solid var(--color-panel-divider);
- transition: transform 0.3s linear;
+ color: var(--color-text);
+ background: var(--color-background-secondary);
+ border-bottom: 1px var(--color-accent) solid;
+ transition: transform 0.3s ease-in-out;
}
.tsd-page-toolbar a {
- color: var(--color-toolbar-text);
+ color: var(--color-text);
text-decoration: none;
}
.tsd-page-toolbar a.title {
.tsd-page-toolbar a.title:hover {
text-decoration: underline;
}
-.tsd-page-toolbar .table-wrap {
- display: table;
- width: 100%;
- height: 40px;
+.tsd-page-toolbar .tsd-toolbar-contents {
+ display: flex;
+ justify-content: space-between;
+ height: 2.5rem;
+ margin: 0 auto;
}
.tsd-page-toolbar .table-cell {
- display: table-cell;
position: relative;
white-space: nowrap;
line-height: 40px;
transform: translateY(-100%);
}
-.tsd-select .tsd-select-list li:before,
-.tsd-select .tsd-select-label:before,
-.tsd-widget:before {
- content: "";
- display: inline-block;
- width: 40px;
- height: 40px;
- margin: 0 -8px 0 0;
- background-image: url(./widgets.png);
- background-repeat: no-repeat;
- text-indent: -1024px;
- vertical-align: bottom;
- filter: var(--icon-filter);
-}
-@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
- .tsd-select .tsd-select-list li:before,
- .tsd-select .tsd-select-label:before,
- .tsd-widget:before {
- background-image: url(./widgets@2x.png);
- background-size: 320px 40px;
- }
-}
-
.tsd-widget {
display: inline-block;
overflow: hidden;
}
.tsd-widget.active {
opacity: 1;
- background-color: var(--color-panel-divider);
+ background-color: var(--color-accent);
}
.tsd-widget.no-caption {
width: 40px;
.tsd-widget.no-caption:before {
margin: 0;
}
-.tsd-widget.search:before {
- background-position: 0 0;
-}
-.tsd-widget.menu:before {
- background-position: -40px 0;
-}
-.tsd-widget.options:before {
- background-position: -80px 0;
-}
+
.tsd-widget.options,
.tsd-widget.menu {
display: none;
}
-@media (max-width: 900px) {
+@media (max-width: 1024px) {
.tsd-widget.options,
.tsd-widget.menu {
display: inline-block;
background-position: -160px 0;
}
-.tsd-select {
- position: relative;
- display: inline-block;
- height: 40px;
- transition: opacity 0.1s, background-color 0.2s;
- vertical-align: bottom;
- cursor: pointer;
-}
-.tsd-select .tsd-select-label {
- opacity: 0.6;
- transition: opacity 0.2s;
-}
-.tsd-select .tsd-select-label:before {
- background-position: -240px 0;
-}
-.tsd-select.active .tsd-select-label {
- opacity: 0.8;
+img {
+ max-width: 100%;
}
-.tsd-select.active .tsd-select-list {
- visibility: visible;
- opacity: 1;
- transition-delay: 0s;
+
+.tsd-anchor-icon {
+ display: inline-flex;
+ align-items: center;
+ margin-left: 0.5rem;
+ vertical-align: middle;
+ color: var(--color-text);
}
-.tsd-select .tsd-select-list {
- position: absolute;
+
+.tsd-anchor-icon svg {
+ width: 1em;
+ height: 1em;
visibility: hidden;
- top: 40px;
- left: 0;
- margin: 0;
- padding: 0;
- opacity: 0;
- list-style: none;
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
- transition: visibility 0s 0.2s, opacity 0.2s;
-}
-.tsd-select .tsd-select-list li {
- padding: 0 20px 0 0;
- background-color: var(--color-background);
}
-.tsd-select .tsd-select-list li:before {
- background-position: 40px 0;
+
+.tsd-anchor-link:hover > .tsd-anchor-icon svg {
+ visibility: visible;
}
-.tsd-select .tsd-select-list li:nth-child(even) {
- background-color: var(--color-panel);
+
+.deprecated {
+ text-decoration: line-through;
}
-.tsd-select .tsd-select-list li:hover {
- background-color: var(--color-panel-divider);
+
+* {
+ scrollbar-width: thin;
+ scrollbar-color: var(--color-accent) var(--color-icon-background);
}
-.tsd-select .tsd-select-list li.selected:before {
- background-position: -200px 0;
+
+*::-webkit-scrollbar {
+ width: 0.75rem;
}
-@media (max-width: 900px) {
- .tsd-select .tsd-select-list {
- top: 0;
- left: auto;
- right: 100%;
- margin-right: -5px;
- }
- .tsd-select .tsd-select-label:before {
- background-position: -280px 0;
- }
+
+*::-webkit-scrollbar-track {
+ background: var(--color-icon-background);
}
-img {
- max-width: 100%;
+*::-webkit-scrollbar-thumb {
+ background-color: var(--color-accent);
+ border-radius: 999rem;
+ border: 0.25rem solid var(--color-icon-background);
}
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AbstractWorker | 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="AbstractWorker.html">AbstractWorker</a></li></ul><h1>Class AbstractWorker<MainWorker, Data, Response></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">
-<p>Base class containing some shared logic for all poolifier workers.</p>
-</div></div></section><section class="tsd-panel tsd-type-parameters"><h3>Type parameters</h3><ul class="tsd-type-parameters"><li><h4>MainWorker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></h4><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Type of main worker.</p>
-</div></div></li><li><h4>Data = <span class="tsd-signature-type">unknown</span></h4><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Type of data this worker receives from pool's execution. This can only be serializable data.</p>
-</div></div></li><li><h4>Response = <span class="tsd-signature-type">unknown</span></h4><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Type of response the worker sends back to the main worker. This can only be serializable data.</p>
-</div></div></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="tsd-signature-type">AsyncResource</span><ul class="tsd-hierarchy"><li><span class="target">AbstractWorker</span><ul class="tsd-hierarchy"><li><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</a></li><li><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</a></li></ul></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="AbstractWorker.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="AbstractWorker.html#opts" class="tsd-kind-icon">opts</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkFunctionInput" class="tsd-kind-icon">check<wbr/>Function<wbr/>Input</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkWorkerOptions" class="tsd-kind-icon">check<wbr/>Worker<wbr/>Options</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="AbstractWorker.html#bind-1" class="tsd-kind-icon">bind</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/>Abstract<wbr/>Worker<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, isMain<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, mainWorker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AsyncResource.constructor</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L42">src/worker/abstract-worker.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier worker.</p>
-</div></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>MainWorker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></h4></li><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>type: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The type of async event.</p>
-</div></div></li><li><h5>isMain: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Whether this is the main worker or not.</p>
-</div></div></li><li><h5>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>mainWorker: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Reference to main worker.</p>
-</div></div></li><li><h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Options for the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="aliveInterval" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> alive<wbr/>Interval</h3><div class="tsd-signature tsd-kind-icon">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="lastTaskTimestamp" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> last<wbr/>Task<wbr/>Timestamp</h3><div class="tsd-signature tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Timestamp of the last task processed by this worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="mainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> main<wbr/>Worker</h3><div class="tsd-signature tsd-kind-icon">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><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/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a><h3>async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">async<wbr/>Id<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 AsyncResource.asyncId</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:315</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The unique <code>asyncId</code> assigned to the resource.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a><h3>bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AsyncResource.bind</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:288</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AbstractWorker | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="AbstractWorker.html">AbstractWorker</a></li></ul>
+<h1>Class AbstractWorker<MainWorker, Data, Response><code class="tsd-tag ts-flagAbstract">Abstract</code> </h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>Base class containing some shared logic for all poolifier workers.</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>MainWorker<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></h4>
+<div class="tsd-comment tsd-typography"><p>Type of main worker.</p>
+</div></li>
+<li>
+<h4>Data = <span class="tsd-signature-type">unknown</span></h4>
+<div class="tsd-comment tsd-typography"><p>Type of data this worker receives from pool's execution. This can only be serializable data.</p>
+</div></li>
+<li>
+<h4>Response = <span class="tsd-signature-type">unknown</span></h4>
+<div class="tsd-comment tsd-typography"><p>Type of response the worker sends back to the main worker. This can only be serializable data.</p>
+</div></li></ul></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="tsd-signature-type">AsyncResource</span>
+<ul class="tsd-hierarchy">
+<li><span class="target">AbstractWorker</span>
+<ul class="tsd-hierarchy">
+<li><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</a></li>
+<li><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L19">src/worker/abstract-worker.ts:19</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="AbstractWorker.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="AbstractWorker.html#aliveInterval" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>alive<wbr/>Interval?</span></a>
+<a href="AbstractWorker.html#lastTaskTimestamp" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>last<wbr/>Task<wbr/>Timestamp</span></a>
+<a href="AbstractWorker.html#mainWorker" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>main<wbr/>Worker</span></a>
+<a href="AbstractWorker.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="AbstractWorker.html#asyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>async<wbr/>Id</span></a>
+<a href="AbstractWorker.html#bind" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+<a href="AbstractWorker.html#checkAlive" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>check<wbr/>Alive</span></a>
+<a href="AbstractWorker.html#checkFunctionInput" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-private"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>check<wbr/>Function<wbr/>Input</span></a>
+<a href="AbstractWorker.html#checkWorkerOptions" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-private"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>check<wbr/>Worker<wbr/>Options</span></a>
+<a href="AbstractWorker.html#emitDestroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>emit<wbr/>Destroy</span></a>
+<a href="AbstractWorker.html#getMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Main<wbr/>Worker</span></a>
+<a href="AbstractWorker.html#handleError" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>handle<wbr/>Error</span></a>
+<a href="AbstractWorker.html#messageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>message<wbr/>Listener</span></a>
+<a href="AbstractWorker.html#run" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run</span></a>
+<a href="AbstractWorker.html#runAsync" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>Async</span></a>
+<a href="AbstractWorker.html#runInAsyncScope" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span></a>
+<a href="AbstractWorker.html#sendToMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Main<wbr/>Worker</span></a>
+<a href="AbstractWorker.html#triggerAsyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>trigger<wbr/>Async<wbr/>Id</span></a>
+<a href="AbstractWorker.html#bind-2" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_AbstractWorker">new <wbr/>Abstract<wbr/>Worker<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, isMain<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, mainWorker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span><a href="#constructor.new_AbstractWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier worker.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>MainWorker<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></h4></li>
+<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>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>type: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>The type of async event.</p>
+</div></li>
+<li>
+<h5>isMain: <span class="tsd-signature-type">boolean</span></h5>
+<div class="tsd-comment tsd-typography"><p>Whether this is the main worker or not.</p>
+</div></li>
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>mainWorker: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Reference to main worker.</p>
+</div></li>
+<li>
+<h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></h4><aside class="tsd-sources">
+<p>Overrides AsyncResource.constructor</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L45">src/worker/abstract-worker.ts:45</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="aliveInterval" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>alive<wbr/>Interval</span><a href="#aliveInterval" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div>
+<div class="tsd-comment tsd-typography"><p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="lastTaskTimestamp" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>last<wbr/>Task<wbr/>Timestamp</span><a href="#lastTaskTimestamp" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography"><p>Timestamp of the last task processed by this worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="mainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>main<wbr/>Worker</span><a href="#mainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L49">src/worker/abstract-worker.ts:49</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a></div>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L35">src/worker/abstract-worker.ts:35</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>async<wbr/>Id</span><a href="#asyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="asyncId.asyncId-1">async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#asyncId.asyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The unique <code>asyncId</code> assigned to the resource.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.asyncId</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:315</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>bind</span><a href="#bind" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind.bind-1">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind.bind-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current <code>AsyncResource</code>.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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-protected"><a id="checkAlive" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> check<wbr/>Alive</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">check<wbr/>Alive<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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L133">src/worker/abstract-worker.ts:133</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Check to see if the worker should be terminated, because its living too long.</p>
-</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-private"><a id="checkFunctionInput" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> check<wbr/>Function<wbr/>Input</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private"><li class="tsd-signature tsd-kind-icon">check<wbr/>Function<wbr/>Input<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L107">src/worker/abstract-worker.ts:107</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Check if the <code>fn</code> parameter is passed to the constructor.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function that should be defined.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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" data-tsd-kind="Type parameter">Response</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-private"><a id="checkWorkerOptions" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagPrivate">Private</span> check<wbr/>Worker<wbr/>Options</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private"><li class="tsd-signature tsd-kind-icon">check<wbr/>Worker<wbr/>Options<span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L92">src/worker/abstract-worker.ts:92</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</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-external"><a id="emitDestroy" class="tsd-anchor"></a><h3>emit<wbr/>Destroy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AsyncResource.emitDestroy</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:311</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current <code>AsyncResource</code>.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.bind</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:288</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="checkAlive" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>check<wbr/>Alive</span><a href="#checkAlive" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="checkAlive.checkAlive-1">check<wbr/>Alive<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#checkAlive.checkAlive-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Check to see if the worker should be terminated, because its living too long.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L144">src/worker/abstract-worker.ts:144</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private"><a id="checkFunctionInput" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>check<wbr/>Function<wbr/>Input</span><a href="#checkFunctionInput" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
+<li class="tsd-signature tsd-anchor-link" id="checkFunctionInput.checkFunctionInput-1">check<wbr/>Function<wbr/>Input<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#checkFunctionInput.checkFunctionInput-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Check if the <code>fn</code> parameter is passed to the constructor.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function that should be defined.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L118">src/worker/abstract-worker.ts:118</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private"><a id="checkWorkerOptions" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>check<wbr/>Worker<wbr/>Options</span><a href="#checkWorkerOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
+<li class="tsd-signature tsd-anchor-link" id="checkWorkerOptions.checkWorkerOptions-1">check<wbr/>Worker<wbr/>Options<span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#checkWorkerOptions.checkWorkerOptions-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L103">src/worker/abstract-worker.ts:103</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="emitDestroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>emit<wbr/>Destroy</span><a href="#emitDestroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="emitDestroy.emitDestroy-1">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span><a href="#emitDestroy.emitDestroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
be thrown if it is called more than once. This <strong>must</strong> be manually called. If
the resource is left to be collected by the GC then the <code>destroy</code> hooks will
never be called.</p>
-</div></div><h4 class="tsd-returns-title">Returns <a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></h4><div><p>A reference to <code>asyncResource</code>.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="getMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Main<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">get<wbr/>Main<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" data-tsd-kind="Type parameter">MainWorker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L116">src/worker/abstract-worker.ts:116</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Returns the main worker.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></h4><div><p>Reference to the main worker.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="handleError" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> handle<wbr/>Error</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L148">src/worker/abstract-worker.ts:148</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The error raised by the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div><p>Message of the error.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="run" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L158">src/worker/abstract-worker.ts:158</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function synchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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-protected"><a id="runAsync" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run<wbr/>Async</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L179">src/worker/abstract-worker.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function asynchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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-has-type-parameter tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a><h3>run<wbr/>In<wbr/>Async<wbr/>Scope</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AsyncResource.runInAsyncScope</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:303</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call the provided function with the provided arguments in the execution context
+
+<h3>Returns</h3><p>A reference to <code>asyncResource</code>.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span><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">></span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.emitDestroy</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:311</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="getMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>get<wbr/>Main<wbr/>Worker</span><a href="#getMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="getMainWorker.getMainWorker-1">get<wbr/>Main<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" data-tsd-kind="Type parameter">MainWorker</span><a href="#getMainWorker.getMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Returns the main worker.</p>
+
+<h3>Returns</h3><p>Reference to the main worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">MainWorker</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L127">src/worker/abstract-worker.ts:127</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="handleError" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>handle<wbr/>Error</span><a href="#handleError" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="handleError.handleError-1">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#handleError.handleError-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
+
+<h3>Returns</h3><p>Message of the error.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5>
+<div class="tsd-comment tsd-typography"><p>The error raised by the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L159">src/worker/abstract-worker.ts:159</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="messageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>message<wbr/>Listener</span><a href="#messageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="messageListener.messageListener-1">message<wbr/>Listener<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">MainWorker</span><span class="tsd-signature-symbol">></span>, fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#messageListener.messageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">MainWorker</span><span class="tsd-signature-symbol">></span></h5></li>
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L81">src/worker/abstract-worker.ts:81</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="run" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run</span><a href="#run" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="run.run-1">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#run.run-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function synchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L169">src/worker/abstract-worker.ts:169</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="runAsync" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run<wbr/>Async</span><a href="#runAsync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="runAsync.runAsync-1">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#runAsync.runAsync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function asynchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L190">src/worker/abstract-worker.ts:190</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span><a href="#runInAsyncScope" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="runInAsyncScope.runInAsyncScope-1">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><a href="#runInAsyncScope.runInAsyncScope-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call the provided function with the provided arguments in the execution context
of the async resource. This will establish the context, trigger the AsyncHooks
before callbacks, call the function, trigger the AsyncHooks after callbacks, and
then restore the original execution context.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v9.6.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>This</h4></li><li><h4>Result</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to call in the execution context of this async resource.</p>
-</div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The receiver to be used for the function call.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Optional arguments to pass to the function.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagAbstract">Abstract</span> send<wbr/>To<wbr/>Main<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L128">src/worker/abstract-worker.ts:128</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Send a message to the main worker.</p>
-</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"><</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">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The response message.</p>
-</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-external"><a id="triggerAsyncId" class="tsd-anchor"></a><h3>trigger<wbr/>Async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">trigger<wbr/>Async<wbr/>Id<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 AsyncResource.triggerAsyncId</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:320</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a id="bind-1" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagStatic">Static</span> bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AsyncResource.bind</p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:273</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to the current execution context.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+
+<h3>Since</h3><p>v9.6.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>This</h4></li>
+<li>
+<h4>Result</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to call in the execution context of this async resource.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal tsd-is-external">
+<li class="tsd-signature"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5>
+<div class="tsd-comment tsd-typography"><p>The receiver to be used for the function call.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
+<div class="tsd-comment tsd-typography"><p>Optional arguments to pass to the function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.runInAsyncScope</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:303</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagAbstract">Abstract</code> <span>send<wbr/>To<wbr/>Main<wbr/>Worker</span><a href="#sendToMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="sendToMainWorker.sendToMainWorker-1">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToMainWorker.sendToMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Send a message to the main worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5>
+<div class="tsd-comment tsd-typography"><p>The response message.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L139">src/worker/abstract-worker.ts:139</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="triggerAsyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>trigger<wbr/>Async<wbr/>Id</span><a href="#triggerAsyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="triggerAsyncId.triggerAsyncId-1">trigger<wbr/>Async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#triggerAsyncId.triggerAsyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.triggerAsyncId</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:320</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind-2" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>bind</span><a href="#bind-2" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind-2.bind-3">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind-2.bind-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to the current execution context.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li><li><h4>ThisArg</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current execution context.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> type: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4></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="AbstractWorker.html" class="tsd-kind-icon">Abstract<wbr/>Worker</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="AbstractWorker.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="AbstractWorker.html#opts" class="tsd-kind-icon">opts</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkFunctionInput" class="tsd-kind-icon">check<wbr/>Function<wbr/>Input</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkWorkerOptions" class="tsd-kind-icon">check<wbr/>Worker<wbr/>Options</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="AbstractWorker.html#bind-1" class="tsd-kind-icon">bind</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>
\ No newline at end of file
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li>
+<li>
+<h4>ThisArg</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current execution context.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> type: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from AsyncResource.bind</p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:273</li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="AbstractWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Abstract<wbr/>Worker</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="AbstractWorker.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#aliveInterval" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>alive<wbr/>Interval?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#lastTaskTimestamp" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>last<wbr/>Task<wbr/>Timestamp</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#mainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>main<wbr/>Worker</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class"><a href="AbstractWorker.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#asyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#bind" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#checkAlive" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>check<wbr/>Alive</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkFunctionInput" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>check<wbr/>Function<wbr/>Input</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="AbstractWorker.html#checkWorkerOptions" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>check<wbr/>Worker<wbr/>Options</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#emitDestroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>emit<wbr/>Destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#getMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#handleError" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>handle<wbr/>Error</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#messageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#run" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#runAsync" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>Async</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#runInAsyncScope" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>In<wbr/>Async<wbr/>Scope</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="AbstractWorker.html#sendToMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#triggerAsyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>trigger<wbr/>Async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="AbstractWorker.html#bind-2" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ClusterWorker | 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="ClusterWorker.html">ClusterWorker</a></li></ul><h1>Class ClusterWorker<Data, Response></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">
-<p>A cluster worker used by a poolifier <code>ClusterPool</code>.</p>
-</div><div><p>When this worker is inactive for more than the given <code>maxInactiveTime</code>,
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ClusterWorker | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="ClusterWorker.html">ClusterWorker</a></li></ul>
+<h1>Class ClusterWorker<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A cluster worker used by a poolifier <code>ClusterPool</code>.</p>
+<p>When this worker is inactive for more than the given <code>maxInactiveTime</code>,
it will send a termination request to its main worker.</p>
<p>If you use a <code>DynamicClusterPool</code> the extra workers that were created will be terminated,
but the minimum number of workers will be guaranteed.</p>
-</div><dl class="tsd-comment-tags"><dt>template DataType</dt><dd><p>of data this worker receives from pool's execution. This can only be serializable data.</p>
-</dd><dt>template ResponseType</dt><dd><p>of response the worker sends back to the main worker. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
-</dd><dt>since</dt><dd><p>2.0.0</p>
-</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="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" 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">></span><ul class="tsd-hierarchy"><li><span class="target">ClusterWorker</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="ClusterWorker.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 tsd-is-protected"><a href="ClusterWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ClusterWorker.html#opts" class="tsd-kind-icon">opts</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ClusterWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ClusterWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="ClusterWorker.html#bind-1" class="tsd-kind-icon">bind</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/>Cluster<wbr/>Worker<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">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/cluster-worker.ts#L31">src/worker/cluster-worker.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier cluster worker.</p>
-</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>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = {}</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Options for the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></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 tsd-is-protected"><a id="aliveInterval" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> alive<wbr/>Interval</h3><div class="tsd-signature tsd-kind-icon">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#aliveInterval">aliveInterval</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="lastTaskTimestamp" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> last<wbr/>Task<wbr/>Timestamp</h3><div class="tsd-signature tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#lastTaskTimestamp">lastTaskTimestamp</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Timestamp of the last task processed by this worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="mainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> main<wbr/>Worker</h3><div class="tsd-signature tsd-kind-icon">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#mainWorker">mainWorker</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/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#opts">opts</a></p></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a><h3>async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">async<wbr/>Id<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 <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#asyncId">asyncId</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:315</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The unique <code>asyncId</code> assigned to the resource.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a><h3>bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind">bind</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:288</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+
+<h3>Template</h3><p>of data this worker receives from pool's execution. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response the worker sends back to the main worker. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
+
+<h3>Since</h3><p>2.0.0</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" 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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">ClusterWorker</span></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/cluster-worker.ts#L21">src/worker/cluster-worker.ts:21</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="ClusterWorker.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="ClusterWorker.html#aliveInterval" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>alive<wbr/>Interval?</span></a>
+<a href="ClusterWorker.html#lastTaskTimestamp" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>last<wbr/>Task<wbr/>Timestamp</span></a>
+<a href="ClusterWorker.html#mainWorker" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>main<wbr/>Worker</span></a>
+<a href="ClusterWorker.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="ClusterWorker.html#asyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>async<wbr/>Id</span></a>
+<a href="ClusterWorker.html#bind" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+<a href="ClusterWorker.html#checkAlive" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>check<wbr/>Alive</span></a>
+<a href="ClusterWorker.html#emitDestroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>emit<wbr/>Destroy</span></a>
+<a href="ClusterWorker.html#getMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Main<wbr/>Worker</span></a>
+<a href="ClusterWorker.html#handleError" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>handle<wbr/>Error</span></a>
+<a href="ClusterWorker.html#messageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>message<wbr/>Listener</span></a>
+<a href="ClusterWorker.html#run" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run</span></a>
+<a href="ClusterWorker.html#runAsync" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>Async</span></a>
+<a href="ClusterWorker.html#runInAsyncScope" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span></a>
+<a href="ClusterWorker.html#sendToMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Main<wbr/>Worker</span></a>
+<a href="ClusterWorker.html#triggerAsyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>trigger<wbr/>Async<wbr/>Id</span></a>
+<a href="ClusterWorker.html#bind-2" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_ClusterWorker">new <wbr/>Cluster<wbr/>Worker<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">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span><a href="#constructor.new_ClusterWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier cluster worker.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span></h4><aside class="tsd-sources">
+<p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#constructor">constructor</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/cluster-worker.ts#L31">src/worker/cluster-worker.ts:31</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="aliveInterval" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>alive<wbr/>Interval</span><a href="#aliveInterval" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div>
+<div class="tsd-comment tsd-typography"><p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#aliveInterval">aliveInterval</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="lastTaskTimestamp" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>last<wbr/>Task<wbr/>Timestamp</span><a href="#lastTaskTimestamp" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography"><p>Timestamp of the last task processed by this worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#lastTaskTimestamp">lastTaskTimestamp</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="mainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>main<wbr/>Worker</span><a href="#mainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#mainWorker">mainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L49">src/worker/abstract-worker.ts:49</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a></div>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#opts">opts</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L35">src/worker/abstract-worker.ts:35</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>async<wbr/>Id</span><a href="#asyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="asyncId.asyncId-1">async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#asyncId.asyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The unique <code>asyncId</code> assigned to the resource.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#asyncId">asyncId</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:315</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>bind</span><a href="#bind" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind.bind-1">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind.bind-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current <code>AsyncResource</code>.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="checkAlive" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> check<wbr/>Alive</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">check<wbr/>Alive<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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#checkAlive">checkAlive</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L133">src/worker/abstract-worker.ts:133</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Check to see if the worker should be terminated, because its living too long.</p>
-</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-external"><a id="emitDestroy" class="tsd-anchor"></a><h3>emit<wbr/>Destroy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#emitDestroy">emitDestroy</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:311</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current <code>AsyncResource</code>.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind">bind</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:288</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="checkAlive" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>check<wbr/>Alive</span><a href="#checkAlive" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="checkAlive.checkAlive-1">check<wbr/>Alive<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#checkAlive.checkAlive-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Check to see if the worker should be terminated, because its living too long.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#checkAlive">checkAlive</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L144">src/worker/abstract-worker.ts:144</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="emitDestroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>emit<wbr/>Destroy</span><a href="#emitDestroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="emitDestroy.emitDestroy-1">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span><a href="#emitDestroy.emitDestroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
be thrown if it is called more than once. This <strong>must</strong> be manually called. If
the resource is left to be collected by the GC then the <code>destroy</code> hooks will
never be called.</p>
-</div></div><h4 class="tsd-returns-title">Returns <a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span></h4><div><p>A reference to <code>asyncResource</code>.</p>
-</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="getMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Main<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">get<wbr/>Main<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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#getMainWorker">getMainWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L116">src/worker/abstract-worker.ts:116</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Returns the main worker.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><div><p>Reference to the main worker.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a id="handleError" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> handle<wbr/>Error</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><li class="tsd-signature tsd-kind-icon">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#handleError">handleError</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/cluster-worker.ts#L47">src/worker/cluster-worker.ts:47</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The error raised by the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div><p>Message of the error.</p>
-</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="run" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run</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">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#run">run</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L158">src/worker/abstract-worker.ts:158</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function synchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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="runAsync" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run<wbr/>Async</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">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runAsync">runAsync</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L179">src/worker/abstract-worker.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function asynchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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-has-type-parameter tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a><h3>run<wbr/>In<wbr/>Async<wbr/>Scope</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runInAsyncScope">runInAsyncScope</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:303</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call the provided function with the provided arguments in the execution context
+
+<h3>Returns</h3><p>A reference to <code>asyncResource</code>.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="ClusterWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ClusterWorker</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">></span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#emitDestroy">emitDestroy</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:311</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="getMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>get<wbr/>Main<wbr/>Worker</span><a href="#getMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getMainWorker.getMainWorker-1">get<wbr/>Main<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><a href="#getMainWorker.getMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Returns the main worker.</p>
+
+<h3>Returns</h3><p>Reference to the main worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#getMainWorker">getMainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L127">src/worker/abstract-worker.ts:127</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="handleError" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>handle<wbr/>Error</span><a href="#handleError" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="handleError.handleError-1">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#handleError.handleError-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
+
+<h3>Returns</h3><p>Message of the error.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5>
+<div class="tsd-comment tsd-typography"><p>The error raised by the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
+<p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#handleError">handleError</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/cluster-worker.ts#L47">src/worker/cluster-worker.ts:47</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="messageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>message<wbr/>Listener</span><a href="#messageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="messageListener.messageListener-1">message<wbr/>Listener<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">Worker</span><span class="tsd-signature-symbol">></span>, fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#messageListener.messageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">Worker</span><span class="tsd-signature-symbol">></span></h5></li>
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#messageListener">messageListener</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L81">src/worker/abstract-worker.ts:81</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="run" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run</span><a href="#run" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="run.run-1">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#run.run-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function synchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#run">run</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L169">src/worker/abstract-worker.ts:169</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="runAsync" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run<wbr/>Async</span><a href="#runAsync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="runAsync.runAsync-1">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#runAsync.runAsync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function asynchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runAsync">runAsync</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L190">src/worker/abstract-worker.ts:190</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span><a href="#runInAsyncScope" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="runInAsyncScope.runInAsyncScope-1">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><a href="#runInAsyncScope.runInAsyncScope-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call the provided function with the provided arguments in the execution context
of the async resource. This will establish the context, trigger the AsyncHooks
before callbacks, call the function, trigger the AsyncHooks after callbacks, and
then restore the original execution context.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v9.6.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>This</h4></li><li><h4>Result</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to call in the execution context of this async resource.</p>
-</div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The receiver to be used for the function call.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Optional arguments to pass to the function.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> send<wbr/>To<wbr/>Main<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><li class="tsd-signature tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></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>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#sendToMainWorker">sendToMainWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/cluster-worker.ts#L42">src/worker/cluster-worker.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Send a message to the main worker.</p>
-</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"><</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">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The response message.</p>
-</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-external"><a id="triggerAsyncId" class="tsd-anchor"></a><h3>trigger<wbr/>Async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">trigger<wbr/>Async<wbr/>Id<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 <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#triggerAsyncId">triggerAsyncId</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:320</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a id="bind-1" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagStatic">Static</span> bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind-1">bind</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:273</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to the current execution context.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+
+<h3>Since</h3><p>v9.6.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>This</h4></li>
+<li>
+<h4>Result</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to call in the execution context of this async resource.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal tsd-is-external">
+<li class="tsd-signature"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5>
+<div class="tsd-comment tsd-typography"><p>The receiver to be used for the function call.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
+<div class="tsd-comment tsd-typography"><p>Optional arguments to pass to the function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runInAsyncScope">runInAsyncScope</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:303</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Main<wbr/>Worker</span><a href="#sendToMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="sendToMainWorker.sendToMainWorker-1">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToMainWorker.sendToMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Send a message to the main worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5>
+<div class="tsd-comment tsd-typography"><p>The response message.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#sendToMainWorker">sendToMainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/cluster-worker.ts#L42">src/worker/cluster-worker.ts:42</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="triggerAsyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>trigger<wbr/>Async<wbr/>Id</span><a href="#triggerAsyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="triggerAsyncId.triggerAsyncId-1">trigger<wbr/>Async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#triggerAsyncId.triggerAsyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#triggerAsyncId">triggerAsyncId</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:320</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind-2" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>bind</span><a href="#bind-2" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind-2.bind-3">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind-2.bind-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to the current execution context.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li><li><h4>ThisArg</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current execution context.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> type: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4></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="ClusterWorker.html" class="tsd-kind-icon">Cluster<wbr/>Worker</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="ClusterWorker.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ClusterWorker.html#opts" class="tsd-kind-icon">opts</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ClusterWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ClusterWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ClusterWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="ClusterWorker.html#bind-1" class="tsd-kind-icon">bind</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>
\ No newline at end of file
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li>
+<li>
+<h4>ThisArg</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current execution context.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> type: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind-2">bind</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:273</li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="ClusterWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Cluster<wbr/>Worker</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="ClusterWorker.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#aliveInterval" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>alive<wbr/>Interval?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#lastTaskTimestamp" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>last<wbr/>Task<wbr/>Timestamp</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#mainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>main<wbr/>Worker</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ClusterWorker.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#asyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#bind" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#checkAlive" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>check<wbr/>Alive</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#emitDestroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>emit<wbr/>Destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#getMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="ClusterWorker.html#handleError" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>handle<wbr/>Error</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#messageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#run" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ClusterWorker.html#runAsync" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>Async</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#runInAsyncScope" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>In<wbr/>Async<wbr/>Scope</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="ClusterWorker.html#sendToMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#triggerAsyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>trigger<wbr/>Async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ClusterWorker.html#bind-2" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DynamicClusterPool | 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="DynamicClusterPool.html">DynamicClusterPool</a></li></ul><h1>Class DynamicClusterPool<Data, Response></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">
-<p>A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers.</p>
-</div><div><p>This cluster pool creates new workers when the others are busy, up to the maximum number of workers.
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DynamicClusterPool | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="DynamicClusterPool.html">DynamicClusterPool</a></li></ul>
+<h1>Class DynamicClusterPool<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers.</p>
+<p>This cluster pool creates new workers when the others are busy, up to the maximum number of workers.
When the maximum number of workers is reached, an event is emitted. If you want to listen to this event, use the pool's <code>emitter</code>.</p>
-</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>
-</dd><dt>template ResponseType</dt><dd><p>of response of execution. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
-</dd><dt>since</dt><dd><p>2.0.0</p>
-</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="FixedClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedClusterPool</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">></span><ul class="tsd-hierarchy"><li><span class="target">DynamicClusterPool</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="DynamicClusterPool.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="DynamicClusterPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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/>Cluster<wbr/>Pool<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">></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/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="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/dynamic.ts#L28">src/pools/cluster/dynamic.ts:28</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier dynamic cluster pool.</p>
-</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">
-<p>Minimum number of workers which are always active.</p>
-</div></div></li><li><h5>max: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Maximum number of workers that can be created by this pool.</p>
-</div></div></li><li><h5>filePath: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Path to an implementation of a <code>ClusterWorker</code> file, which can be relative or absolute.</p>
-</div></div></li><li><h5>opts: <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</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">></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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Id of the next message.</p>
-</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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"><</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"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>The promise map.</p>
-</div><div><ul>
+
+<h3>Template</h3><p>of data sent to the worker. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response of execution. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
+
+<h3>Since</h3><p>2.0.0</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><a href="FixedClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedClusterPool</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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">DynamicClusterPool</span></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L16">src/pools/cluster/dynamic.ts:16</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="DynamicClusterPool.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="DynamicClusterPool.html#emitter" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>emitter?</span></a>
+<a href="DynamicClusterPool.html#filePath" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>file<wbr/>Path</span></a>
+<a href="DynamicClusterPool.html#max" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>max</span></a>
+<a href="DynamicClusterPool.html#nextMessageId" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>next<wbr/>Message<wbr/>Id</span></a>
+<a href="DynamicClusterPool.html#numberOfWorkers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>number<wbr/>Of<wbr/>Workers</span></a>
+<a href="DynamicClusterPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+<a href="DynamicClusterPool.html#promiseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Map</span></a>
+<a href="DynamicClusterPool.html#tasks" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>tasks</span></a>
+<a href="DynamicClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
+<a href="DynamicClusterPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Accessors</h3>
+<div class="tsd-index-list"><a href="DynamicClusterPool.html#busy" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
+<a href="DynamicClusterPool.html#numberOfRunningTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
+<a href="DynamicClusterPool.html#type" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>type</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="DynamicClusterPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="DynamicClusterPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#decreaseWorkersTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>decrease<wbr/>Workers<wbr/>Tasks</span></a>
+<a href="DynamicClusterPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
+<a href="DynamicClusterPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
+<a href="DynamicClusterPool.html#findFreeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#getWorkerIndex" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Index</span></a>
+<a href="DynamicClusterPool.html#getWorkerRunningTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span></a>
+<a href="DynamicClusterPool.html#increaseWorkersTask" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>increase<wbr/>Workers<wbr/>Task</span></a>
+<a href="DynamicClusterPool.html#internalExecute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Execute</span></a>
+<a href="DynamicClusterPool.html#internalGetBusyStatus" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span></a>
+<a href="DynamicClusterPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
+<a href="DynamicClusterPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
+<a href="DynamicClusterPool.html#removeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>remove<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#sendToWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+<a href="DynamicClusterPool.html#setupHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>setup<wbr/>Hook</span></a>
+<a href="DynamicClusterPool.html#workerListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>worker<wbr/>Listener</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_DynamicClusterPool">new <wbr/>Dynamic<wbr/>Cluster<wbr/>Pool<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">></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/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="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</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">></span><a href="#constructor.new_DynamicClusterPool" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier dynamic cluster pool.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>min: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Minimum number of workers which are always active.</p>
+</div></li>
+<li>
+<h5>max: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Maximum number of workers that can be created by this pool.</p>
+</div></li>
+<li>
+<h5>filePath: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>Path to an implementation of a <code>ClusterWorker</code> file, which can be relative or absolute.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> opts: <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for this dynamic cluster pool.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <a href="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</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">></span></h4><aside class="tsd-sources">
+<p>Overrides <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#constructor">constructor</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L28">src/pools/cluster/dynamic.ts:28</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>emitter</span><a href="#emitter" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">emitter<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">PoolEmitter</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#emitter">emitter</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#filePath">filePath</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>max</span><a href="#max" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">max<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#max">max</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L30">src/pools/cluster/dynamic.ts:30</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="nextMessageId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>next<wbr/>Message<wbr/>Id</span><a href="#nextMessageId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">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>
+<div class="tsd-comment tsd-typography"><p>Id of the next message.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#nextMessageId">nextMessageId</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L57">src/pools/abstract-pool.ts:57</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#numberOfWorkers">numberOfWorkers</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#opts">opts</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L47">src/pools/cluster/fixed.ts:47</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="promiseMap" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Map</span><a href="#promiseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">promise<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography"><p>The promise map.</p>
+<ul>
<li><code>key</code>: This is the message Id of each submitted task.</li>
<li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
</ul>
<p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
-</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"><</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">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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"><</span><span class="tsd-signature-type">Worker</span><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">></span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Worker choice strategy instance implementing the worker choice algorithm.</p>
-</div><div><p>Default to a strategy implementing a round robin algorithm.</p>
-</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> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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 FixedClusterPool.busy</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/dynamic.ts#L43">src/pools/cluster/dynamic.ts:43</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 FixedClusterPool.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 FixedClusterPool.type</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/dynamic.ts#L38">src/pools/cluster/dynamic.ts:38</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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#afterWorkerSetup">afterWorkerSetup</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</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="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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Choose a worker for the next task.</p>
-</div><div><p>The default implementation uses a round robin algorithm to distribute the load.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><div><p>Worker.</p>
-</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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Creates a new worker for this pool and sets it up completely.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><div><p>New, completely set up worker.</p>
-</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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#createWorker">createWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</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="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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Decrease the number of tasks that the given worker has applied.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker whose tasks are decreased.</p>
-</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"><</span><span class="tsd-signature-type">void</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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"><</span><span class="tsd-signature-type">void</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"><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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#destroyWorker">destroyWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</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="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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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"><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><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">]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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><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">]</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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Increase the number of tasks that the given worker has applied.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker whose tasks are increased.</p>
-</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><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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: <span class="tsd-signature-type">Worker</span></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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#isMain">isMain</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</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>worker: <span class="tsd-signature-type">Worker</span></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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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"><</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">></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"><</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">></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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>Removes the given worker from the pool.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker that will be removed.</p>
-</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><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"><</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">></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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#sendToWorker">sendToWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5></li><li><h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#setupHook">setupHook</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</a></li></ul></aside><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"><</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">></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="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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>
-</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"><</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">></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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></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>
-</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="DynamicClusterPool.html" class="tsd-kind-icon">Dynamic<wbr/>Cluster<wbr/>Pool</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="DynamicClusterPool.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.html#workers" class="tsd-kind-icon">workers</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="DynamicClusterPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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="DynamicClusterPool.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>
\ No newline at end of file
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#promiseMap">promiseMap</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L49">src/pools/abstract-pool.ts:49</a></li></ul></aside></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tasks</span><a href="#tasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#tasks">tasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><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">></span></div>
+<div class="tsd-comment tsd-typography"><p>Worker choice strategy instance implementing the worker choice algorithm.</p>
+<p>Default to a strategy implementing a round robin algorithm.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workerChoiceStrategyContext">workerChoiceStrategyContext</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L64">src/pools/abstract-pool.ts:64</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workers">workers</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Accessors</h2>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>busy</span><a href="#busy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="busy.busy-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides FixedClusterPool.busy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L43">src/pools/cluster/dynamic.ts:43</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from FixedClusterPool.numberOfRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L150">src/pools/abstract-pool.ts:150</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="type.type-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
+<p>Overrides FixedClusterPool.type</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L38">src/pools/cluster/dynamic.ts:38</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterWorkerSetup" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1">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><a href="#afterWorkerSetup.afterWorkerSetup-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#afterWorkerSetup">afterWorkerSetup</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Choose a worker for the next task.</p>
+<p>The default implementation uses a round robin algorithm to distribute the load.</p>
+
+<h3>Returns</h3><p>Worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#chooseWorker">chooseWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L283">src/pools/abstract-pool.ts:283</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1">create<wbr/>And<wbr/>Setup<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Creates a new worker for this pool and sets it up completely.</p>
+
+<h3>Returns</h3><p>New, completely set up worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#createAndSetupWorker">createAndSetupWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1">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><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#createWorker">createWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="decreaseWorkersTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>decrease<wbr/>Workers<wbr/>Tasks</span><a href="#decreaseWorkersTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="decreaseWorkersTasks.decreaseWorkersTasks-1">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><a href="#decreaseWorkersTasks.decreaseWorkersTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Decrease the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are decreased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#decreaseWorkersTasks">decreaseWorkersTasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L246">src/pools/abstract-pool.ts:246</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1">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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#destroy">destroy</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L208">src/pools/abstract-pool.ts:208</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroyWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1">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><a href="#destroyWorker.destroyWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#destroyWorker">destroyWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="execute.execute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#execute.execute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#execute">execute</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker</span><a href="#findFreeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="findFreeWorker.findFreeWorker-1">find<wbr/>Free<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">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span><a href="#findFreeWorker.findFreeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#findFreeWorker">findFreeWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L185">src/pools/abstract-pool.ts:185</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerIndex" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Index</span><a href="#getWorkerIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerIndex.getWorkerIndex-1">get<wbr/>Worker<wbr/>Index<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">number</span><a href="#getWorkerIndex.getWorkerIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#getWorkerIndex">getWorkerIndex</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L160">src/pools/abstract-pool.ts:160</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span><a href="#getWorkerRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerRunningTasks.getWorkerRunningTasks-1">get<wbr/>Worker<wbr/>Running<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">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><a href="#getWorkerRunningTasks.getWorkerRunningTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#getWorkerRunningTasks">getWorkerRunningTasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="increaseWorkersTask" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>increase<wbr/>Workers<wbr/>Task</span><a href="#increaseWorkersTask" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="increaseWorkersTask.increaseWorkersTask-1">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><a href="#increaseWorkersTask.increaseWorkersTask-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Increase the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are increased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#increaseWorkersTask">increaseWorkersTask</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalExecute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Execute</span><a href="#internalExecute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalExecute.internalExecute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#internalExecute.internalExecute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>messageId: <span class="tsd-signature-type">number</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#internalExecute">internalExecute</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalGetBusyStatus" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span><a href="#internalGetBusyStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalGetBusyStatus.internalGetBusyStatus-1">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><a href="#internalGetBusyStatus.internalGetBusyStatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#internalGetBusyStatus">internalGetBusyStatus</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L177">src/pools/abstract-pool.ts:177</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="isMain" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="isMain.isMain-1">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><a href="#isMain.isMain-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#isMain">isMain</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><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><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Message</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="removeWorker.removeWorker-1">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><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><a href="#removeWorker.removeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Removes the given worker from the pool.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker that will be removed.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#removeWorker">removeWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L270">src/pools/abstract-pool.ts:270</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="sendToWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="sendToWorker.sendToWorker-1">send<wbr/>To<wbr/>Worker<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToWorker.sendToWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#sendToWorker">sendToWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#setWorkerChoiceStrategy">setWorkerChoiceStrategy</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L165">src/pools/abstract-pool.ts:165</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1">setup<wbr/>Hook<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#setupHook">setupHook</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1">worker<wbr/>Listener<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h4>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workerListener">workerListener</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="DynamicClusterPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Dynamic<wbr/>Cluster<wbr/>Pool</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="DynamicClusterPool.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#emitter" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>emitter?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#filePath" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>file<wbr/>Path</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#max" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>max</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#nextMessageId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>next<wbr/>Message<wbr/>Id</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#numberOfWorkers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>number<wbr/>Of<wbr/>Workers</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#promiseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Map</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#tasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>tasks</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicClusterPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicClusterPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#decreaseWorkersTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>decrease<wbr/>Workers<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#findFreeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#getWorkerIndex" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Index</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#getWorkerRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#increaseWorkersTask" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>increase<wbr/>Workers<wbr/>Task</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#internalExecute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#internalGetBusyStatus" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#registerWorkerMessageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#removeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>remove<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#sendToWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#setupHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>setup<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#workerListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>worker<wbr/>Listener</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!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<Data, Response></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">
-<p>A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.</p>
-</div><div><p>This thread pool creates new threads when the others are busy, up to the maximum number of threads.
+<!DOCTYPE html><html class="default" lang="en"><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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="DynamicThreadPool.html">DynamicThreadPool</a></li></ul>
+<h1>Class DynamicThreadPool<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.</p>
+<p>This thread pool creates new threads when the others are busy, up to the maximum number of threads.
When the maximum number of threads is reached, an event is emitted. If you want to listen to this event, use the pool's <code>emitter</code>.</p>
-</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>
-</dd><dt>template ResponseType</dt><dd><p>of response of execution. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
-</dd><dt>since</dt><dd><p>0.0.1</p>
-</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"><</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">></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"><</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">></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"><</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-symbol">: </span><a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</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">></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">
-<p>Constructs a new poolifier dynamic thread pool.</p>
-</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">
-<p>Minimum number of threads which are always active.</p>
-</div></div></li><li><h5>max: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Maximum number of threads that can be created by this pool.</p>
-</div></div></li><li><h5>filePath: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
-</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"><</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></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"><</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">></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">
-<p>Id of the next message.</p>
-</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"><</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></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"><</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"><</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">></span><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#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">
-<p>The promise map.</p>
-</div><div><ul>
+
+<h3>Template</h3><p>of data sent to the worker. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response of execution. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
+
+<h3>Since</h3><p>0.0.1</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">DynamicThreadPool</span></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/dynamic.ts#L17">src/pools/thread/dynamic.ts:17</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="DynamicThreadPool.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="DynamicThreadPool.html#emitter" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>emitter?</span></a>
+<a href="DynamicThreadPool.html#filePath" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>file<wbr/>Path</span></a>
+<a href="DynamicThreadPool.html#max" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>max</span></a>
+<a href="DynamicThreadPool.html#nextMessageId" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>next<wbr/>Message<wbr/>Id</span></a>
+<a href="DynamicThreadPool.html#numberOfWorkers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>number<wbr/>Of<wbr/>Workers</span></a>
+<a href="DynamicThreadPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+<a href="DynamicThreadPool.html#promiseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Map</span></a>
+<a href="DynamicThreadPool.html#tasks" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>tasks</span></a>
+<a href="DynamicThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
+<a href="DynamicThreadPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Accessors</h3>
+<div class="tsd-index-list"><a href="DynamicThreadPool.html#busy" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
+<a href="DynamicThreadPool.html#numberOfRunningTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
+<a href="DynamicThreadPool.html#type" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>type</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="DynamicThreadPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="DynamicThreadPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#decreaseWorkersTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>decrease<wbr/>Workers<wbr/>Tasks</span></a>
+<a href="DynamicThreadPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
+<a href="DynamicThreadPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
+<a href="DynamicThreadPool.html#findFreeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#getWorkerIndex" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Index</span></a>
+<a href="DynamicThreadPool.html#getWorkerRunningTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span></a>
+<a href="DynamicThreadPool.html#increaseWorkersTask" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>increase<wbr/>Workers<wbr/>Task</span></a>
+<a href="DynamicThreadPool.html#internalExecute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Execute</span></a>
+<a href="DynamicThreadPool.html#internalGetBusyStatus" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span></a>
+<a href="DynamicThreadPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
+<a href="DynamicThreadPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
+<a href="DynamicThreadPool.html#removeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>remove<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#sendToWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
+<a href="DynamicThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+<a href="DynamicThreadPool.html#setupHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>setup<wbr/>Hook</span></a>
+<a href="DynamicThreadPool.html#workerListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>worker<wbr/>Listener</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_DynamicThreadPool">new <wbr/>Dynamic<wbr/>Thread<wbr/>Pool<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">></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"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</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">></span><a href="#constructor.new_DynamicThreadPool" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier dynamic thread pool.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>min: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Minimum number of threads which are always active.</p>
+</div></li>
+<li>
+<h5>max: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Maximum number of threads that can be created by this pool.</p>
+</div></li>
+<li>
+<h5>filePath: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> opts: <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for this dynamic thread pool.</p>
+</div></li></ul></div>
+<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"><</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">></span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/dynamic.ts#L29">src/pools/thread/dynamic.ts:29</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>emitter</span><a href="#emitter" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">emitter<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">PoolEmitter</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#filePath">filePath</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>max</span><a href="#max" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">max<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#max">max</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/dynamic.ts#L31">src/pools/thread/dynamic.ts:31</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="nextMessageId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>next<wbr/>Message<wbr/>Id</span><a href="#nextMessageId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">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>
+<div class="tsd-comment tsd-typography"><p>Id of the next message.</p>
+</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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L57">src/pools/abstract-pool.ts:57</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#numberOfWorkers">numberOfWorkers</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#opts">opts</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L80">src/pools/abstract-pool.ts:80</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="promiseMap" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Map</span><a href="#promiseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">promise<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography"><p>The promise map.</p>
+<ul>
<li><code>key</code>: This is the message Id of each submitted task.</li>
<li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
</ul>
<p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
-</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"><</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><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"><</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">></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">
-<p>Worker choice strategy instance implementing the worker choice algorithm.</p>
-</div><div><p>Default to a strategy implementing a round robin algorithm.</p>
-</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">
-<p>Choose a worker for the next task.</p>
-</div><div><p>The default implementation uses a round robin algorithm to distribute the load.</p>
-</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>
-</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">
-<p>Creates a new worker for this pool and sets it up completely.</p>
-</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>
-</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">
-<p>Decrease the number of tasks that the given worker has applied.</p>
-</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">
-<p>Worker whose tasks are decreased.</p>
-</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"><</span><span class="tsd-signature-type">void</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#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"><</span><span class="tsd-signature-type">void</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"><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"><</span><span class="tsd-signature-type">void</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#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"><</span><span class="tsd-signature-type">void</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"><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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#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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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"><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">
-<p>Increase the number of tasks that the given worker has applied.</p>
-</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">
-<p>Worker whose tasks are increased.</p>
-</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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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#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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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"><</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">></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"><</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">></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">
-<p>Removes the given worker from the pool.</p>
-</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">
-<p>Worker that will be removed.</p>
-</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"><</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">></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"><</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">></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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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">
-<p>Setup hook that can be overridden by a Poolifier pool implementation
+</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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L49">src/pools/abstract-pool.ts:49</a></li></ul></aside></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tasks</span><a href="#tasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#tasks">tasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>Worker choice strategy instance implementing the worker choice algorithm.</p>
+<p>Default to a strategy implementing a round robin algorithm.</p>
+</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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L64">src/pools/abstract-pool.ts:64</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Accessors</h2>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>busy</span><a href="#busy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="busy.busy-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides FixedThreadPool.busy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/dynamic.ts#L44">src/pools/thread/dynamic.ts:44</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from FixedThreadPool.numberOfRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L150">src/pools/abstract-pool.ts:150</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="type.type-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
+<p>Overrides FixedThreadPool.type</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/dynamic.ts#L39">src/pools/thread/dynamic.ts:39</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterWorkerSetup" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1">after<wbr/>Worker<wbr/>Setup<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterWorkerSetup.afterWorkerSetup-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L80">src/pools/thread/fixed.ts:80</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Choose a worker for the next task.</p>
+<p>The default implementation uses a round robin algorithm to distribute the load.</p>
+
+<h3>Returns</h3><p>Worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#chooseWorker">chooseWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L283">src/pools/abstract-pool.ts:283</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1">create<wbr/>And<wbr/>Setup<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Creates a new worker for this pool and sets it up completely.</p>
+
+<h3>Returns</h3><p>New, completely set up worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#createAndSetupWorker">createAndSetupWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1">create<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L73">src/pools/thread/fixed.ts:73</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="decreaseWorkersTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>decrease<wbr/>Workers<wbr/>Tasks</span><a href="#decreaseWorkersTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="decreaseWorkersTasks.decreaseWorkersTasks-1">decrease<wbr/>Workers<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#decreaseWorkersTasks.decreaseWorkersTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Decrease the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are decreased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#decreaseWorkersTasks">decreaseWorkersTasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L246">src/pools/abstract-pool.ts:246</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1">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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L208">src/pools/abstract-pool.ts:208</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroyWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1">destroy<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroyWorker.destroyWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="execute.execute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#execute.execute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker</span><a href="#findFreeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="findFreeWorker.findFreeWorker-1">find<wbr/>Free<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">false</span><span class="tsd-signature-symbol"> | </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#findFreeWorker.findFreeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#findFreeWorker">findFreeWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L185">src/pools/abstract-pool.ts:185</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerIndex" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Index</span><a href="#getWorkerIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerIndex.getWorkerIndex-1">get<wbr/>Worker<wbr/>Index<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#getWorkerIndex.getWorkerIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#getWorkerIndex">getWorkerIndex</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L160">src/pools/abstract-pool.ts:160</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span><a href="#getWorkerRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerRunningTasks.getWorkerRunningTasks-1">get<wbr/>Worker<wbr/>Running<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><a href="#getWorkerRunningTasks.getWorkerRunningTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#getWorkerRunningTasks">getWorkerRunningTasks</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="increaseWorkersTask" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>increase<wbr/>Workers<wbr/>Task</span><a href="#increaseWorkersTask" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="increaseWorkersTask.increaseWorkersTask-1">increase<wbr/>Workers<wbr/>Task<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#increaseWorkersTask.increaseWorkersTask-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Increase the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are increased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#increaseWorkersTask">increaseWorkersTask</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalExecute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Execute</span><a href="#internalExecute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalExecute.internalExecute-1">internal<wbr/>Execute<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, 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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#internalExecute.internalExecute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>messageId: <span class="tsd-signature-type">number</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalGetBusyStatus" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span><a href="#internalGetBusyStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalGetBusyStatus.internalGetBusyStatus-1">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><a href="#internalGetBusyStatus.internalGetBusyStatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L177">src/pools/abstract-pool.ts:177</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="isMain" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="isMain.isMain-1">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><a href="#isMain.isMain-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L44">src/pools/thread/fixed.ts:44</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>messageChannel<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, listener<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Message</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>messageChannel: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L65">src/pools/thread/fixed.ts:65</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="removeWorker.removeWorker-1">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#removeWorker.removeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Removes the given worker from the pool.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker that will be removed.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#removeWorker">removeWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L270">src/pools/abstract-pool.ts:270</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="sendToWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="sendToWorker.sendToWorker-1">send<wbr/>To<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToWorker.sendToWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L57">src/pools/thread/fixed.ts:57</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L165">src/pools/abstract-pool.ts:165</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1">setup<wbr/>Hook<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Setup hook that can be overridden by a Poolifier pool implementation
to run code before workers are created in the abstract constructor.</p>
-</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"><</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">></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#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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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>
-</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"><</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">></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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></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>
-</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>
\ No newline at end of file
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><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/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L223">src/pools/abstract-pool.ts:223</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1">worker<wbr/>Listener<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h4>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
+<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerListener">workerListener</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="DynamicThreadPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Dynamic<wbr/>Thread<wbr/>Pool</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="DynamicThreadPool.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#emitter" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>emitter?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#filePath" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>file<wbr/>Path</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#max" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>max</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#nextMessageId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>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-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>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-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#promiseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Map</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#tasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>tasks</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicThreadPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicThreadPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#decreaseWorkersTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>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-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#findFreeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#getWorkerIndex" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Index</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#getWorkerRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#increaseWorkersTask" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>increase<wbr/>Workers<wbr/>Task</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#internalExecute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#internalGetBusyStatus" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#registerWorkerMessageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#removeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>remove<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#sendToWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#setupHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>setup<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicThreadPool.html#workerListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>worker<wbr/>Listener</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>FixedClusterPool | 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="FixedClusterPool.html">FixedClusterPool</a></li></ul><h1>Class FixedClusterPool<Data, Response></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">
-<p>A cluster pool with a fixed number of workers.</p>
-</div><div><p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>FixedClusterPool | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="FixedClusterPool.html">FixedClusterPool</a></li></ul>
+<h1>Class FixedClusterPool<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A cluster pool with a fixed number of workers.</p>
+<p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
<p>This pool selects the workers in a round robin fashion.</p>
-</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>
-</dd><dt>template ResponseType</dt><dd><p>of response of execution. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
-</dd><dt>since</dt><dd><p>2.0.0</p>
-</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><span class="tsd-signature-type">AbstractPool</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" 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">></span><ul class="tsd-hierarchy"><li><span class="target">FixedClusterPool</span><ul class="tsd-hierarchy"><li><a href="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</a></li></ul></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="FixedClusterPool.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="FixedClusterPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.html#type" class="tsd-kind-icon">type</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="FixedClusterPool.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="FixedClusterPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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-overwrite"><a href="FixedClusterPool.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="FixedClusterPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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/>Fixed<wbr/>Cluster<wbr/>Pool<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">></span><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"><</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool<Worker, Data, Response>.constructor</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L44">src/pools/cluster/fixed.ts:44</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier fixed cluster pool.</p>
-</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>numberOfWorkers: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Number of workers for this pool.</p>
-</div></div></li><li><h5>filePath: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Path to an implementation of a <code>ClusterWorker</code> file, which can be relative or absolute.</p>
-</div></div></li><li><h5>opts: <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul><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"><</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">></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 AbstractPool.emitter</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.filePath</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-flagOptional">Optional</span> <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 AbstractPool.max</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L130">src/pools/abstract-pool.ts:130</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.nextMessageId</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">
-<p>Id of the next message.</p>
-</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 AbstractPool.numberOfWorkers</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/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.opts</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"><</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"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.promiseMap</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">
-<p>The promise map.</p>
-</div><div><ul>
+
+<h3>Template</h3><p>of data sent to the worker. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response of execution. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/Shinigami92">Christopher Quadflieg</a></p>
+
+<h3>Since</h3><p>2.0.0</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="tsd-signature-type">AbstractPool</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" 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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">FixedClusterPool</span>
+<ul class="tsd-hierarchy">
+<li><a href="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L33">src/pools/cluster/fixed.ts:33</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="FixedClusterPool.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="FixedClusterPool.html#emitter" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>emitter?</span></a>
+<a href="FixedClusterPool.html#filePath" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>file<wbr/>Path</span></a>
+<a href="FixedClusterPool.html#max" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>max?</span></a>
+<a href="FixedClusterPool.html#nextMessageId" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>next<wbr/>Message<wbr/>Id</span></a>
+<a href="FixedClusterPool.html#numberOfWorkers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>number<wbr/>Of<wbr/>Workers</span></a>
+<a href="FixedClusterPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+<a href="FixedClusterPool.html#promiseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Map</span></a>
+<a href="FixedClusterPool.html#tasks" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>tasks</span></a>
+<a href="FixedClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
+<a href="FixedClusterPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Accessors</h3>
+<div class="tsd-index-list"><a href="FixedClusterPool.html#busy" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
+<a href="FixedClusterPool.html#numberOfRunningTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
+<a href="FixedClusterPool.html#type" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>type</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="FixedClusterPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="FixedClusterPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#decreaseWorkersTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>decrease<wbr/>Workers<wbr/>Tasks</span></a>
+<a href="FixedClusterPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
+<a href="FixedClusterPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
+<a href="FixedClusterPool.html#findFreeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#getWorkerIndex" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Index</span></a>
+<a href="FixedClusterPool.html#getWorkerRunningTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span></a>
+<a href="FixedClusterPool.html#increaseWorkersTask" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>increase<wbr/>Workers<wbr/>Task</span></a>
+<a href="FixedClusterPool.html#internalExecute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Execute</span></a>
+<a href="FixedClusterPool.html#internalGetBusyStatus" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span></a>
+<a href="FixedClusterPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
+<a href="FixedClusterPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
+<a href="FixedClusterPool.html#removeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>remove<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#sendToWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
+<a href="FixedClusterPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+<a href="FixedClusterPool.html#setupHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>setup<wbr/>Hook</span></a>
+<a href="FixedClusterPool.html#workerListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>worker<wbr/>Listener</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_FixedClusterPool">new <wbr/>Fixed<wbr/>Cluster<wbr/>Pool<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">></span><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"><</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">></span><a href="#constructor.new_FixedClusterPool" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier fixed cluster pool.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>numberOfWorkers: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Number of workers for this pool.</p>
+</div></li>
+<li>
+<h5>filePath: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>Path to an implementation of a <code>ClusterWorker</code> file, which can be relative or absolute.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> opts: <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for this fixed cluster pool.</p>
+</div></li></ul></div>
+<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"><</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">></span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool<Worker, Data, Response>.constructor</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L44">src/pools/cluster/fixed.ts:44</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>emitter</span><a href="#emitter" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">emitter<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">PoolEmitter</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.emitter</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.filePath</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>max</span><a href="#max" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">max<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.max</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L39">src/pools/abstract-pool.ts:39</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="nextMessageId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>next<wbr/>Message<wbr/>Id</span><a href="#nextMessageId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">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>
+<div class="tsd-comment tsd-typography"><p>Id of the next message.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.nextMessageId</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L57">src/pools/abstract-pool.ts:57</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.numberOfWorkers</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.opts</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L47">src/pools/cluster/fixed.ts:47</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="promiseMap" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Map</span><a href="#promiseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">promise<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography"><p>The promise map.</p>
+<ul>
<li><code>key</code>: This is the message Id of each submitted task.</li>
<li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
</ul>
<p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
-</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"><</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">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.tasks</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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"><</span><span class="tsd-signature-type">Worker</span><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">></span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.workerChoiceStrategyContext</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">
-<p>Worker choice strategy instance implementing the worker choice algorithm.</p>
-</div><div><p>Default to a strategy implementing a round robin algorithm.</p>
-</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> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.workers</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.busy</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L100">src/pools/cluster/fixed.ts:100</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 AbstractPool.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 AbstractPool.type</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L95">src/pools/cluster/fixed.ts:95</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 "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite 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-overwrite 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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool.afterWorkerSetup</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</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-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</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="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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.chooseWorker</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">
-<p>Choose a worker for the next task.</p>
-</div><div><p>The default implementation uses a round robin algorithm to distribute the load.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><div><p>Worker.</p>
-</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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.createAndSetupWorker</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">
-<p>Creates a new worker for this pool and sets it up completely.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><div><p>New, completely set up worker.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite 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-overwrite 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><span class="tsd-signature-type">Worker</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool.createWorker</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</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">Worker</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="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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.decreaseWorkersTasks</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">
-<p>Decrease the number of tasks that the given worker has applied.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker whose tasks are decreased.</p>
-</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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.destroy</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><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">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</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-overwrite"><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-overwrite"><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool.destroyWorker</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</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-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</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="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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.execute</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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"><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><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">]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.findFreeTasksMapEntry</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><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">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.increaseWorkersTask</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">
-<p>Increase the number of tasks that the given worker has applied.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker whose tasks are increased.</p>
-</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><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.internalExecute</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: <span class="tsd-signature-type">Worker</span></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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="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 AbstractPool.internalGetBusyStatus</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-overwrite 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-overwrite 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>Overrides AbstractPool.isMain</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</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-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><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-overwrite"><li class="tsd-signature tsd-kind-icon">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><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>Overrides AbstractPool.registerWorkerMessageListener</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</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-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>worker: <span class="tsd-signature-type">Worker</span></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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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"><</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">></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"><</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">></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><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></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.removeWorker</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">
-<p>Removes the given worker from the pool.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker that will be removed.</p>
-</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-overwrite 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-overwrite 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><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"><</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">></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>Overrides AbstractPool.sendToWorker</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</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-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>worker: <span class="tsd-signature-type">Worker</span></h5></li><li><h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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 AbstractPool.setWorkerChoiceStrategy</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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-overwrite 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-overwrite 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>Overrides AbstractPool.setupHook</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</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">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"><</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">></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 AbstractPool.workerListener</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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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>
-</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"><</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">></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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></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>
-</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="FixedClusterPool.html" class="tsd-kind-icon">Fixed<wbr/>Cluster<wbr/>Pool</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="FixedClusterPool.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.html#workers" class="tsd-kind-icon">workers</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="FixedClusterPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="FixedClusterPool.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="FixedClusterPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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-overwrite"><a href="FixedClusterPool.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="FixedClusterPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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-overwrite tsd-is-protected"><a href="FixedClusterPool.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="FixedClusterPool.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>
\ No newline at end of file
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.promiseMap</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L49">src/pools/abstract-pool.ts:49</a></li></ul></aside></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tasks</span><a href="#tasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.tasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><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">></span></div>
+<div class="tsd-comment tsd-typography"><p>Worker choice strategy instance implementing the worker choice algorithm.</p>
+<p>Default to a strategy implementing a round robin algorithm.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workerChoiceStrategyContext</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L64">src/pools/abstract-pool.ts:64</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workers</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Accessors</h2>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>busy</span><a href="#busy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="busy.busy-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.busy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L100">src/pools/cluster/fixed.ts:100</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.numberOfRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L150">src/pools/abstract-pool.ts:150</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="type.type-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.type</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L95">src/pools/cluster/fixed.ts:95</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="afterWorkerSetup" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1">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><a href="#afterWorkerSetup.afterWorkerSetup-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.afterWorkerSetup</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Choose a worker for the next task.</p>
+<p>The default implementation uses a round robin algorithm to distribute the load.</p>
+
+<h3>Returns</h3><p>Worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.chooseWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L283">src/pools/abstract-pool.ts:283</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1">create<wbr/>And<wbr/>Setup<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Creates a new worker for this pool and sets it up completely.</p>
+
+<h3>Returns</h3><p>New, completely set up worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.createAndSetupWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="createWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1">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><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.createWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="decreaseWorkersTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>decrease<wbr/>Workers<wbr/>Tasks</span><a href="#decreaseWorkersTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="decreaseWorkersTasks.decreaseWorkersTasks-1">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><a href="#decreaseWorkersTasks.decreaseWorkersTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Decrease the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are decreased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.decreaseWorkersTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L246">src/pools/abstract-pool.ts:246</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1">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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.destroy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L208">src/pools/abstract-pool.ts:208</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="destroyWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1">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><a href="#destroyWorker.destroyWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.destroyWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="execute.execute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#execute.execute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.execute</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker</span><a href="#findFreeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="findFreeWorker.findFreeWorker-1">find<wbr/>Free<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">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span><a href="#findFreeWorker.findFreeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.findFreeWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L185">src/pools/abstract-pool.ts:185</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerIndex" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Index</span><a href="#getWorkerIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerIndex.getWorkerIndex-1">get<wbr/>Worker<wbr/>Index<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">number</span><a href="#getWorkerIndex.getWorkerIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.getWorkerIndex</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L160">src/pools/abstract-pool.ts:160</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span><a href="#getWorkerRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerRunningTasks.getWorkerRunningTasks-1">get<wbr/>Worker<wbr/>Running<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">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><a href="#getWorkerRunningTasks.getWorkerRunningTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.getWorkerRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="increaseWorkersTask" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>increase<wbr/>Workers<wbr/>Task</span><a href="#increaseWorkersTask" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="increaseWorkersTask.increaseWorkersTask-1">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><a href="#increaseWorkersTask.increaseWorkersTask-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Increase the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are increased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.increaseWorkersTask</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalExecute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Execute</span><a href="#internalExecute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalExecute.internalExecute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#internalExecute.internalExecute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>messageId: <span class="tsd-signature-type">number</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.internalExecute</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalGetBusyStatus" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span><a href="#internalGetBusyStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalGetBusyStatus.internalGetBusyStatus-1">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><a href="#internalGetBusyStatus.internalGetBusyStatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.internalGetBusyStatus</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L177">src/pools/abstract-pool.ts:177</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="isMain" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="isMain.isMain-1">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><a href="#isMain.isMain-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.isMain</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><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><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Message</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.registerWorkerMessageListener</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="removeWorker.removeWorker-1">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><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><a href="#removeWorker.removeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Removes the given worker from the pool.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>Worker that will be removed.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.removeWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L270">src/pools/abstract-pool.ts:270</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="sendToWorker.sendToWorker-1">send<wbr/>To<wbr/>Worker<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToWorker.sendToWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li>
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.sendToWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.setWorkerChoiceStrategy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L165">src/pools/abstract-pool.ts:165</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="setupHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1">setup<wbr/>Hook<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.setupHook</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1">worker<wbr/>Listener<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h4>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workerListener</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="FixedClusterPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Fixed<wbr/>Cluster<wbr/>Pool</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="FixedClusterPool.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#emitter" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>emitter?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#filePath" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>file<wbr/>Path</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#max" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>max?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#nextMessageId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>next<wbr/>Message<wbr/>Id</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#numberOfWorkers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>number<wbr/>Of<wbr/>Workers</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#promiseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Map</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#tasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>tasks</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedClusterPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedClusterPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedClusterPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedClusterPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#decreaseWorkersTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>decrease<wbr/>Workers<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedClusterPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#findFreeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#getWorkerIndex" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Index</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#getWorkerRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#increaseWorkersTask" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>increase<wbr/>Workers<wbr/>Task</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#internalExecute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#internalGetBusyStatus" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedClusterPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedClusterPool.html#registerWorkerMessageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#removeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>remove<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedClusterPool.html#sendToWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedClusterPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedClusterPool.html#setupHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>setup<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedClusterPool.html#workerListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>worker<wbr/>Listener</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>FixedThreadPool | 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="FixedThreadPool.html">FixedThreadPool</a></li></ul><h1>Class FixedThreadPool<Data, Response></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">
-<p>A thread pool with a fixed number of threads.</p>
-</div><div><p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>FixedThreadPool | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="FixedThreadPool.html">FixedThreadPool</a></li></ul>
+<h1>Class FixedThreadPool<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A thread pool with a fixed number of threads.</p>
+<p>It is possible to perform tasks in sync or asynchronous mode as you prefer.</p>
<p>This pool selects the threads in a round robin fashion.</p>
-</div><dl class="tsd-comment-tags"><dt>template DataType</dt><dd><p>of data sent to the worker. This can only be serializable data.</p>
-</dd><dt>template ResponseType</dt><dd><p>of response of execution. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
-</dd><dt>since</dt><dd><p>0.0.1</p>
-</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><span class="tsd-signature-type">AbstractPool</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" 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">></span><ul class="tsd-hierarchy"><li><span class="target">FixedThreadPool</span><ul class="tsd-hierarchy"><li><a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</a></li></ul></li></ul></li></ul></section><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="FixedThreadPool.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="FixedThreadPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.html#type" class="tsd-kind-icon">type</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="FixedThreadPool.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="FixedThreadPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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-overwrite tsd-is-protected"><a href="FixedThreadPool.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-overwrite"><a href="FixedThreadPool.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="FixedThreadPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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/>Fixed<wbr/>Thread<wbr/>Pool<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">></span><span class="tsd-signature-symbol">(</span>numberOfThreads<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"><</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-symbol">: </span><a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool<ThreadWorkerWithMessageChannel, Data, Response>.constructor</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L35">src/pools/thread/fixed.ts:35</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier fixed thread pool.</p>
-</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>numberOfThreads: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Number of threads for this pool.</p>
-</div></div></li><li><h5>filePath: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
-</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"><</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></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</a><span class="tsd-signature-symbol"><</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">></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 AbstractPool.emitter</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.filePath</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-flagOptional">Optional</span> <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 AbstractPool.max</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L130">src/pools/abstract-pool.ts:130</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.nextMessageId</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">
-<p>Id of the next message.</p>
-</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 AbstractPool.numberOfWorkers</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"><</span><a href="../index.html#ThreadWorkerWithMessageChannel" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.opts</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"><</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"><</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">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.promiseMap</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">
-<p>The promise map.</p>
-</div><div><ul>
+
+<h3>Template</h3><p>of data sent to the worker. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response of execution. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
+
+<h3>Since</h3><p>0.0.1</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="tsd-signature-type">AbstractPool</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">FixedThreadPool</span>
+<ul class="tsd-hierarchy">
+<li><a href="DynamicThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicThreadPool</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L24">src/pools/thread/fixed.ts:24</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="FixedThreadPool.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="FixedThreadPool.html#emitter" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>emitter?</span></a>
+<a href="FixedThreadPool.html#filePath" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>file<wbr/>Path</span></a>
+<a href="FixedThreadPool.html#max" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>max?</span></a>
+<a href="FixedThreadPool.html#nextMessageId" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>next<wbr/>Message<wbr/>Id</span></a>
+<a href="FixedThreadPool.html#numberOfWorkers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>number<wbr/>Of<wbr/>Workers</span></a>
+<a href="FixedThreadPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+<a href="FixedThreadPool.html#promiseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Map</span></a>
+<a href="FixedThreadPool.html#tasks" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>tasks</span></a>
+<a href="FixedThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
+<a href="FixedThreadPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Accessors</h3>
+<div class="tsd-index-list"><a href="FixedThreadPool.html#busy" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
+<a href="FixedThreadPool.html#numberOfRunningTasks" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
+<a href="FixedThreadPool.html#type" class="tsd-index-link tsd-kind-accessor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg><span>type</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="FixedThreadPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#decreaseWorkersTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>decrease<wbr/>Workers<wbr/>Tasks</span></a>
+<a href="FixedThreadPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
+<a href="FixedThreadPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
+<a href="FixedThreadPool.html#findFreeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#getWorkerIndex" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Index</span></a>
+<a href="FixedThreadPool.html#getWorkerRunningTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span></a>
+<a href="FixedThreadPool.html#increaseWorkersTask" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>increase<wbr/>Workers<wbr/>Task</span></a>
+<a href="FixedThreadPool.html#internalExecute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Execute</span></a>
+<a href="FixedThreadPool.html#internalGetBusyStatus" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span></a>
+<a href="FixedThreadPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
+<a href="FixedThreadPool.html#registerWorkerMessageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
+<a href="FixedThreadPool.html#removeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>remove<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#sendToWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Worker</span></a>
+<a href="FixedThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+<a href="FixedThreadPool.html#setupHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>setup<wbr/>Hook</span></a>
+<a href="FixedThreadPool.html#workerListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>worker<wbr/>Listener</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_FixedThreadPool">new <wbr/>Fixed<wbr/>Thread<wbr/>Pool<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">></span><span class="tsd-signature-symbol">(</span>numberOfThreads<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"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</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">></span><a href="#constructor.new_FixedThreadPool" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier fixed thread pool.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>numberOfThreads: <span class="tsd-signature-type">number</span></h5>
+<div class="tsd-comment tsd-typography"><p>Number of threads for this pool.</p>
+</div></li>
+<li>
+<h5>filePath: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> opts: <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for this fixed thread pool.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <a href="FixedThreadPool.html" class="tsd-signature-type" data-tsd-kind="Class">FixedThreadPool</a><span class="tsd-signature-symbol"><</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">></span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool<ThreadWorkerWithMessageChannel, Data, Response>.constructor</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L35">src/pools/thread/fixed.ts:35</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>emitter</span><a href="#emitter" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">emitter<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">PoolEmitter</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.emitter</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.filePath</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>max</span><a href="#max" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">max<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.max</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L39">src/pools/abstract-pool.ts:39</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="nextMessageId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>next<wbr/>Message<wbr/>Id</span><a href="#nextMessageId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">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>
+<div class="tsd-comment tsd-typography"><p>Id of the next message.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.nextMessageId</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L57">src/pools/abstract-pool.ts:57</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.numberOfWorkers</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.opts</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L80">src/pools/abstract-pool.ts:80</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="promiseMap" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Map</span><a href="#promiseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">promise<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography"><p>The promise map.</p>
+<ul>
<li><code>key</code>: This is the message Id of each submitted task.</li>
<li><code>value</code>: An object that contains the worker, the resolve function and the reject function.</li>
</ul>
<p>When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.</p>
-</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"><</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><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.tasks</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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"><</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">></span></div><aside class="tsd-sources"><p>Inherited from AbstractPool.workerChoiceStrategyContext</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">
-<p>Worker choice strategy instance implementing the worker choice algorithm.</p>
-</div><div><p>Default to a strategy implementing a round robin algorithm.</p>
-</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 AbstractPool.workers</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div></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 AbstractPool.busy</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L95">src/pools/thread/fixed.ts:95</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 AbstractPool.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 AbstractPool.type</p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L90">src/pools/thread/fixed.ts:90</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 "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite 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-overwrite 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>Overrides AbstractPool.afterWorkerSetup</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></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></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 AbstractPool.chooseWorker</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">
-<p>Choose a worker for the next task.</p>
-</div><div><p>The default implementation uses a round robin algorithm to distribute the load.</p>
-</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>
-</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 AbstractPool.createAndSetupWorker</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">
-<p>Creates a new worker for this pool and sets it up completely.</p>
-</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>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite 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-overwrite 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>Overrides AbstractPool.createWorker</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><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 AbstractPool.decreaseWorkersTasks</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">
-<p>Decrease the number of tasks that the given worker has applied.</p>
-</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">
-<p>Worker whose tasks are decreased.</p>
-</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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.destroy</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><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">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</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-overwrite"><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-overwrite"><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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides AbstractPool.destroyWorker</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></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></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4></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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.execute</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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"><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 AbstractPool.findFreeTasksMapEntry</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><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">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 AbstractPool.increaseWorkersTask</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">
-<p>Increase the number of tasks that the given worker has applied.</p>
-</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">
-<p>Worker whose tasks are increased.</p>
-</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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from AbstractPool.internalExecute</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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</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="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 AbstractPool.internalGetBusyStatus</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-overwrite 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-overwrite 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>Overrides AbstractPool.isMain</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><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-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><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-overwrite"><li class="tsd-signature tsd-kind-icon">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><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>Overrides AbstractPool.registerWorkerMessageListener</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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"><</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">></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"><</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">></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 AbstractPool.removeWorker</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">
-<p>Removes the given worker from the pool.</p>
-</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">
-<p>Worker that will be removed.</p>
-</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-overwrite 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-overwrite 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"><</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">></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>Overrides AbstractPool.sendToWorker</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></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></li><li><h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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 AbstractPool.setWorkerChoiceStrategy</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><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>inheritdoc</dt><dd></dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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 AbstractPool.setupHook</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">
-<p>Setup hook that can be overridden by a Poolifier pool implementation
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.promiseMap</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L49">src/pools/abstract-pool.ts:49</a></li></ul></aside></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 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tasks</span><a href="#tasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.tasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol"><</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>Worker choice strategy instance implementing the worker choice algorithm.</p>
+<p>Default to a strategy implementing a round robin algorithm.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workerChoiceStrategyContext</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L64">src/pools/abstract-pool.ts:64</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workers</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Accessors</h2>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>busy</span><a href="#busy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="busy.busy-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.busy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L95">src/pools/thread/fixed.ts:95</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.numberOfRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L150">src/pools/abstract-pool.ts:150</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
+<li class="tsd-signature" id="type.type-1"><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>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.type</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L90">src/pools/thread/fixed.ts:90</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="afterWorkerSetup" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1">after<wbr/>Worker<wbr/>Setup<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterWorkerSetup.afterWorkerSetup-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.afterWorkerSetup</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L80">src/pools/thread/fixed.ts:80</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Choose a worker for the next task.</p>
+<p>The default implementation uses a round robin algorithm to distribute the load.</p>
+
+<h3>Returns</h3><p>Worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.chooseWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L283">src/pools/abstract-pool.ts:283</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1">create<wbr/>And<wbr/>Setup<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#createAndSetupWorker.createAndSetupWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Creates a new worker for this pool and sets it up completely.</p>
+
+<h3>Returns</h3><p>New, completely set up worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.createAndSetupWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="createWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1">create<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#createWorker.createWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.createWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L73">src/pools/thread/fixed.ts:73</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="decreaseWorkersTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>decrease<wbr/>Workers<wbr/>Tasks</span><a href="#decreaseWorkersTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="decreaseWorkersTasks.decreaseWorkersTasks-1">decrease<wbr/>Workers<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#decreaseWorkersTasks.decreaseWorkersTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Decrease the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are decreased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.decreaseWorkersTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L246">src/pools/abstract-pool.ts:246</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1">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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.destroy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L208">src/pools/abstract-pool.ts:208</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="destroyWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1">destroy<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroyWorker.destroyWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.destroyWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="execute.execute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#execute.execute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.execute</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker</span><a href="#findFreeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="findFreeWorker.findFreeWorker-1">find<wbr/>Free<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">false</span><span class="tsd-signature-symbol"> | </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><a href="#findFreeWorker.findFreeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.findFreeWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L185">src/pools/abstract-pool.ts:185</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerIndex" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Index</span><a href="#getWorkerIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerIndex.getWorkerIndex-1">get<wbr/>Worker<wbr/>Index<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#getWorkerIndex.getWorkerIndex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.getWorkerIndex</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L160">src/pools/abstract-pool.ts:160</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerRunningTasks" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span><a href="#getWorkerRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerRunningTasks.getWorkerRunningTasks-1">get<wbr/>Worker<wbr/>Running<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><a href="#getWorkerRunningTasks.getWorkerRunningTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.getWorkerRunningTasks</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="increaseWorkersTask" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>increase<wbr/>Workers<wbr/>Task</span><a href="#increaseWorkersTask" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="increaseWorkersTask.increaseWorkersTask-1">increase<wbr/>Workers<wbr/>Task<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#increaseWorkersTask.increaseWorkersTask-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Increase the number of tasks that the given worker has applied.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker whose tasks are increased.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.increaseWorkersTask</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalExecute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Execute</span><a href="#internalExecute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalExecute.internalExecute-1">internal<wbr/>Execute<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, 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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#internalExecute.internalExecute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>messageId: <span class="tsd-signature-type">number</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.internalExecute</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalGetBusyStatus" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span><a href="#internalGetBusyStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="internalGetBusyStatus.internalGetBusyStatus-1">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><a href="#internalGetBusyStatus.internalGetBusyStatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.internalGetBusyStatus</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L177">src/pools/abstract-pool.ts:177</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="isMain" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="isMain.isMain-1">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><a href="#isMain.isMain-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.isMain</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L44">src/pools/thread/fixed.ts:44</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1">register<wbr/>Worker<wbr/>Message<wbr/>Listener<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Message</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>messageChannel<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, listener<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Message</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>messageChannel: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.registerWorkerMessageListener</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L65">src/pools/thread/fixed.ts:65</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="removeWorker.removeWorker-1">remove<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#removeWorker.removeWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Removes the given worker from the pool.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5>
+<div class="tsd-comment tsd-typography"><p>Worker that will be removed.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.removeWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L270">src/pools/abstract-pool.ts:270</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="sendToWorker.sendToWorker-1">send<wbr/>To<wbr/>Worker<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToWorker.sendToWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type" data-tsd-kind="Type alias">ThreadWorkerWithMessageChannel</a></h5></li>
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides AbstractPool.sendToWorker</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/thread/fixed.ts#L57">src/pools/thread/fixed.ts:57</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.setWorkerChoiceStrategy</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L165">src/pools/abstract-pool.ts:165</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1">setup<wbr/>Hook<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Setup hook that can be overridden by a Poolifier pool implementation
to run code before workers are created in the abstract constructor.</p>
-</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"><</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">></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 AbstractPool.workerListener</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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </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>
-</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"><</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">></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">
-<p>This function is the listener registered for each worker.</p>
-</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"><</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">></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>
-</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="FixedThreadPool.html" class="tsd-kind-icon">Fixed<wbr/>Thread<wbr/>Pool</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="FixedThreadPool.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#emitter" class="tsd-kind-icon">emitter</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.html#workers" class="tsd-kind-icon">workers</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite"><a href="FixedThreadPool.html#busy" class="tsd-kind-icon">busy</a></li><li class="tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="FixedThreadPool.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="FixedThreadPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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-overwrite tsd-is-protected"><a href="FixedThreadPool.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-overwrite"><a href="FixedThreadPool.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="FixedThreadPool.html#removeWorker" class="tsd-kind-icon">remove<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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="FixedThreadPool.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>
\ No newline at end of file
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from AbstractPool.setupHook</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L223">src/pools/abstract-pool.ts:223</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1">worker<wbr/>Listener<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h4>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker.</p>
+
+<h3>Returns</h3><p>The listener function to execute when a message is received from a worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
+<p>Inherited from AbstractPool.workerListener</p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="FixedThreadPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Fixed<wbr/>Thread<wbr/>Pool</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="FixedThreadPool.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#emitter" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>emitter?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#filePath" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>file<wbr/>Path</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#max" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>max?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#nextMessageId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>next<wbr/>Message<wbr/>Id</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#numberOfWorkers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>number<wbr/>Of<wbr/>Workers</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#promiseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Map</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#tasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>tasks</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedThreadPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="FixedThreadPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#decreaseWorkersTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>decrease<wbr/>Workers<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedThreadPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#findFreeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#getWorkerIndex" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Index</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#getWorkerRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#increaseWorkersTask" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>increase<wbr/>Workers<wbr/>Task</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#internalExecute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#internalGetBusyStatus" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class"><a href="FixedThreadPool.html#registerWorkerMessageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>register<wbr/>Worker<wbr/>Message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#removeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>remove<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="FixedThreadPool.html#sendToWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="FixedThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#setupHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>setup<wbr/>Hook</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="FixedThreadPool.html#workerListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>worker<wbr/>Listener</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ThreadWorker | 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="ThreadWorker.html">ThreadWorker</a></li></ul><h1>Class ThreadWorker<Data, Response></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">
-<p>A thread worker used by a poolifier <code>ThreadPool</code>.</p>
-</div><div><p>When this worker is inactive for more than the given <code>maxInactiveTime</code>,
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ThreadWorker | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="ThreadWorker.html">ThreadWorker</a></li></ul>
+<h1>Class ThreadWorker<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>A thread worker used by a poolifier <code>ThreadPool</code>.</p>
+<p>When this worker is inactive for more than the given <code>maxInactiveTime</code>,
it will send a termination request to its main thread.</p>
<p>If you use a <code>DynamicThreadPool</code> the extra workers that were created will be terminated,
but the minimum number of workers will be guaranteed.</p>
-</div><dl class="tsd-comment-tags"><dt>template DataType</dt><dd><p>of data this worker receives from pool's execution. This can only be serializable data.</p>
-</dd><dt>template ResponseType</dt><dd><p>of response the worker sends back to the main thread. This can only be serializable data.</p>
-</dd><dt>author</dt><dd><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
-</dd><dt>since</dt><dd><p>0.0.1</p>
-</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="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">MessagePort</span><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">></span><ul class="tsd-hierarchy"><li><span class="target">ThreadWorker</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="ThreadWorker.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 tsd-is-protected"><a href="ThreadWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ThreadWorker.html#opts" class="tsd-kind-icon">opts</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ThreadWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="ThreadWorker.html#bind-1" class="tsd-kind-icon">bind</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/>Thread<wbr/>Worker<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">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/thread-worker.ts#L31">src/worker/thread-worker.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Constructs a new poolifier thread worker.</p>
-</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>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = {}</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Options for the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></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 tsd-is-protected"><a id="aliveInterval" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> alive<wbr/>Interval</h3><div class="tsd-signature tsd-kind-icon">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#aliveInterval">aliveInterval</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="lastTaskTimestamp" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> last<wbr/>Task<wbr/>Timestamp</h3><div class="tsd-signature tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#lastTaskTimestamp">lastTaskTimestamp</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Timestamp of the last task processed by this worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="mainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> main<wbr/>Worker</h3><div class="tsd-signature tsd-kind-icon">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#mainWorker">mainWorker</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/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#opts">opts</a></p></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a><h3>async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">async<wbr/>Id<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 <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#asyncId">asyncId</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:315</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The unique <code>asyncId</code> assigned to the resource.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a><h3>bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind">bind</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:288</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+
+<h3>Template</h3><p>of data this worker receives from pool's execution. This can only be serializable data.</p>
+
+<h3>Template</h3><p>of response the worker sends back to the main thread. This can only be serializable data.</p>
+
+<h3>Author</h3><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
+
+<h3>Since</h3><p>0.0.1</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><a href="AbstractWorker.html" class="tsd-signature-type" data-tsd-kind="Class">AbstractWorker</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">MessagePort</span><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">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">ThreadWorker</span></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/thread-worker.ts#L21">src/worker/thread-worker.ts:21</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Constructors</h3>
+<div class="tsd-index-list"><a href="ThreadWorker.html#constructor" class="tsd-index-link tsd-kind-constructor tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="ThreadWorker.html#aliveInterval" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>alive<wbr/>Interval?</span></a>
+<a href="ThreadWorker.html#lastTaskTimestamp" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>last<wbr/>Task<wbr/>Timestamp</span></a>
+<a href="ThreadWorker.html#mainWorker" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>main<wbr/>Worker</span></a>
+<a href="ThreadWorker.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="ThreadWorker.html#asyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>async<wbr/>Id</span></a>
+<a href="ThreadWorker.html#bind" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+<a href="ThreadWorker.html#checkAlive" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>check<wbr/>Alive</span></a>
+<a href="ThreadWorker.html#emitDestroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>emit<wbr/>Destroy</span></a>
+<a href="ThreadWorker.html#getMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Main<wbr/>Worker</span></a>
+<a href="ThreadWorker.html#handleError" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>handle<wbr/>Error</span></a>
+<a href="ThreadWorker.html#messageListener" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>message<wbr/>Listener</span></a>
+<a href="ThreadWorker.html#run" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run</span></a>
+<a href="ThreadWorker.html#runAsync" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>Async</span></a>
+<a href="ThreadWorker.html#runInAsyncScope" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span></a>
+<a href="ThreadWorker.html#sendToMainWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>send<wbr/>To<wbr/>Main<wbr/>Worker</span></a>
+<a href="ThreadWorker.html#triggerAsyncId" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>trigger<wbr/>Async<wbr/>Id</span></a>
+<a href="ThreadWorker.html#bind-2" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>bind</span></a>
+</div></section></div></details></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"><a id="constructor" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
+<li class="tsd-signature tsd-anchor-link" id="constructor.new_ThreadWorker">new <wbr/>Thread<wbr/>Worker<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">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span><a href="#constructor.new_ThreadWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier thread worker.</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>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></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function processed by the worker when the pool's <code>execution</code> function is invoked.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>opts: <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a><span class="tsd-signature-symbol"> = {}</span></h5>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span></h4><aside class="tsd-sources">
+<p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#constructor">constructor</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/thread-worker.ts#L31">src/worker/thread-worker.ts:31</a></li></ul></aside></li></ul></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="aliveInterval" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>alive<wbr/>Interval</span><a href="#aliveInterval" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">alive<wbr/>Interval<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Timeout</span></div>
+<div class="tsd-comment tsd-typography"><p>Handler Id of the <code>aliveInterval</code> worker alive check.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#aliveInterval">aliveInterval</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L31">src/worker/abstract-worker.ts:31</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="lastTaskTimestamp" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>last<wbr/>Task<wbr/>Timestamp</span><a href="#lastTaskTimestamp" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">last<wbr/>Task<wbr/>Timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography"><p>Timestamp of the last task processed by this worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#lastTaskTimestamp">lastTaskTimestamp</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L27">src/worker/abstract-worker.ts:27</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="mainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>main<wbr/>Worker</span><a href="#mainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">main<wbr/>Worker<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MessagePort</span></div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#mainWorker">mainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L49">src/worker/abstract-worker.ts:49</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">WorkerOptions</a></div>
+<div class="tsd-comment tsd-typography"><p>Options for the worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#opts">opts</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L35">src/worker/abstract-worker.ts:35</a></li></ul></aside></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>async<wbr/>Id</span><a href="#asyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="asyncId.asyncId-1">async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#asyncId.asyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The unique <code>asyncId</code> assigned to the resource.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#asyncId">asyncId</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:315</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>bind</span><a href="#bind" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind.bind-1">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind.bind-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to execute to this <code>AsyncResource</code>'s scope.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current <code>AsyncResource</code>.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="checkAlive" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> check<wbr/>Alive</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">check<wbr/>Alive<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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#checkAlive">checkAlive</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L133">src/worker/abstract-worker.ts:133</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Check to see if the worker should be terminated, because its living too long.</p>
-</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-external"><a id="emitDestroy" class="tsd-anchor"></a><h3>emit<wbr/>Destroy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#emitDestroy">emitDestroy</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:311</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current <code>AsyncResource</code>.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind">bind</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:288</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="checkAlive" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>check<wbr/>Alive</span><a href="#checkAlive" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="checkAlive.checkAlive-1">check<wbr/>Alive<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#checkAlive.checkAlive-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Check to see if the worker should be terminated, because its living too long.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#checkAlive">checkAlive</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L144">src/worker/abstract-worker.ts:144</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="emitDestroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>emit<wbr/>Destroy</span><a href="#emitDestroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="emitDestroy.emitDestroy-1">emit<wbr/>Destroy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span><a href="#emitDestroy.emitDestroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call all <code>destroy</code> hooks. This should only ever be called once. An error will
be thrown if it is called more than once. This <strong>must</strong> be manually called. If
the resource is left to be collected by the GC then the <code>destroy</code> hooks will
never be called.</p>
-</div></div><h4 class="tsd-returns-title">Returns <a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span></h4><div><p>A reference to <code>asyncResource</code>.</p>
-</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="getMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Main<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">get<wbr/>Main<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">MessagePort</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#getMainWorker">getMainWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L116">src/worker/abstract-worker.ts:116</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Returns the main worker.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MessagePort</span></h4><div><p>Reference to the main worker.</p>
-</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="handleError" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> handle<wbr/>Error</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">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#handleError">handleError</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L148">src/worker/abstract-worker.ts:148</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The error raised by the worker.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div><p>Message of the error.</p>
-</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="run" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run</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">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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" data-tsd-kind="Type parameter">Response</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#run">run</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L158">src/worker/abstract-worker.ts:158</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function synchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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" data-tsd-kind="Type parameter">Response</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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" data-tsd-kind="Type parameter">Response</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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="runAsync" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> run<wbr/>Async</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">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runAsync">runAsync</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/abstract-worker.ts#L179">src/worker/abstract-worker.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Run the given function asynchronously.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Function that will be executed.</p>
-</div></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>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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> 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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li><li><h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Input data for the given function.</p>
-</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-has-type-parameter tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a><h3>run<wbr/>In<wbr/>Async<wbr/>Scope</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runInAsyncScope">runInAsyncScope</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:303</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Call the provided function with the provided arguments in the execution context
+
+<h3>Returns</h3><p>A reference to <code>asyncResource</code>.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <a href="ThreadWorker.html" class="tsd-signature-type" data-tsd-kind="Class">ThreadWorker</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">></span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#emitDestroy">emitDestroy</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:311</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="getMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>get<wbr/>Main<wbr/>Worker</span><a href="#getMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getMainWorker.getMainWorker-1">get<wbr/>Main<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">MessagePort</span><a href="#getMainWorker.getMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Returns the main worker.</p>
+
+<h3>Returns</h3><p>Reference to the main worker.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MessagePort</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#getMainWorker">getMainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L127">src/worker/abstract-worker.ts:127</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="handleError" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>handle<wbr/>Error</span><a href="#handleError" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="handleError.handleError-1">handle<wbr/>Error<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#handleError.handleError-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Handle an error and convert it to a string so it can be sent back to the main worker.</p>
+
+<h3>Returns</h3><p>Message of the error.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>e: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h5>
+<div class="tsd-comment tsd-typography"><p>The error raised by the worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#handleError">handleError</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L159">src/worker/abstract-worker.ts:159</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="messageListener" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>message<wbr/>Listener</span><a href="#messageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="messageListener.messageListener-1">message<wbr/>Listener<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">MessagePort</span><span class="tsd-signature-symbol">></span>, fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#messageListener.messageListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">MessagePort</span><span class="tsd-signature-symbol">></span></h5></li>
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#messageListener">messageListener</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L81">src/worker/abstract-worker.ts:81</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="run" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run</span><a href="#run" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="run.run-1">run<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#run.run-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function synchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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" data-tsd-kind="Type parameter">Response</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#run">run</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L169">src/worker/abstract-worker.ts:169</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="runAsync" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run<wbr/>Async</span><a href="#runAsync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="runAsync.runAsync-1">run<wbr/>Async<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#runAsync.runAsync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Run the given function asynchronously.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal">
+<li class="tsd-signature"><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li>
+<li>
+<h5>value: <span class="tsd-signature-type">MessageValue</span><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">unknown</span><span class="tsd-signature-symbol">></span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runAsync">runAsync</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/abstract-worker.ts#L190">src/worker/abstract-worker.ts:190</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span><a href="#runInAsyncScope" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="runInAsyncScope.runInAsyncScope-1">run<wbr/>In<wbr/>Async<wbr/>Scope<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><a href="#runInAsyncScope.runInAsyncScope-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Call the provided function with the provided arguments in the execution context
of the async resource. This will establish the context, trigger the AsyncHooks
before callbacks, call the function, trigger the AsyncHooks after callbacks, and
then restore the original execution context.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v9.6.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>This</h4></li><li><h4>Result</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to call in the execution context of this async resource.</p>
-</div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The receiver to be used for the function call.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Optional arguments to pass to the function.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagProtected">Protected</span> send<wbr/>To<wbr/>Main<wbr/>Worker</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><li class="tsd-signature tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></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>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#sendToMainWorker">sendToMainWorker</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/thread-worker.ts#L36">src/worker/thread-worker.ts:36</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Send a message to the main worker.</p>
-</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"><</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">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The response message.</p>
-</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-external"><a id="triggerAsyncId" class="tsd-anchor"></a><h3>trigger<wbr/>Async<wbr/>Id</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><li class="tsd-signature tsd-kind-icon">trigger<wbr/>Async<wbr/>Id<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 <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#triggerAsyncId">triggerAsyncId</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:320</li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><div><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a id="bind-1" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagStatic">Static</span> bind</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><li class="tsd-signature tsd-kind-icon">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</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="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind-1">bind</a></p><ul><li>Defined in node_modules/@types/node/async_hooks.d.ts:273</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Binds the given function to the current execution context.</p>
-</div><div><p>The returned function will have an <code>asyncResource</code> property referencing
+
+<h3>Since</h3><p>v9.6.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>This</h4></li>
+<li>
+<h4>Result</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span><span class="tsd-signature-symbol">)</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to call in the execution context of this async resource.</p>
+</div>
+<ul class="tsd-parameters">
+<li class="tsd-parameter-signature">
+<ul class="tsd-signatures tsd-kind-type-literal tsd-is-external">
+<li class="tsd-signature"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></li>
+<li class="tsd-description">
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4></li></ul></li></ul></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">This</span></h5>
+<div class="tsd-comment tsd-typography"><p>The receiver to be used for the function call.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagRest">Rest</code> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
+<div class="tsd-comment tsd-typography"><p>Optional arguments to pass to the function.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Result</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runInAsyncScope">runInAsyncScope</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:303</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Main<wbr/>Worker</span><a href="#sendToMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
+<li class="tsd-signature tsd-anchor-link" id="sendToMainWorker.sendToMainWorker-1">send<wbr/>To<wbr/>Main<wbr/>Worker<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"><</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">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToMainWorker.sendToMainWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Send a message to the main worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol"><</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">></span></h5>
+<div class="tsd-comment tsd-typography"><p>The response message.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#sendToMainWorker">sendToMainWorker</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/thread-worker.ts#L36">src/worker/thread-worker.ts:36</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="triggerAsyncId" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>trigger<wbr/>Async<wbr/>Id</span><a href="#triggerAsyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="triggerAsyncId.triggerAsyncId-1">trigger<wbr/>Async<wbr/>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#triggerAsyncId.triggerAsyncId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Returns</h3><p>The same <code>triggerAsyncId</code> that is passed to the <code>AsyncResource</code> constructor.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#triggerAsyncId">triggerAsyncId</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:320</li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a id="bind-2" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>bind</span><a href="#bind-2" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
+<li class="tsd-signature tsd-anchor-link" id="bind-2.bind-3">bind<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span>, type<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, thisArg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span><a href="#bind-2.bind-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Binds the given function to the current execution context.</p>
+<p>The returned function will have an <code>asyncResource</code> property referencing
the <code>AsyncResource</code> to which the function is bound.</p>
-</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v14.8.0, v12.19.0</p>
-</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Func<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span></h4></li><li><h4>ThisArg</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The function to bind to the current execution context.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> type: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
-</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4></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="ThreadWorker.html" class="tsd-kind-icon">Thread<wbr/>Worker</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite"><a href="ThreadWorker.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#aliveInterval" class="tsd-kind-icon">alive<wbr/>Interval</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#lastTaskTimestamp" class="tsd-kind-icon">last<wbr/>Task<wbr/>Timestamp</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#mainWorker" class="tsd-kind-icon">main<wbr/>Worker</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ThreadWorker.html#opts" class="tsd-kind-icon">opts</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#asyncId" class="tsd-kind-icon">async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#bind" class="tsd-kind-icon">bind</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#checkAlive" class="tsd-kind-icon">check<wbr/>Alive</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#emitDestroy" class="tsd-kind-icon">emit<wbr/>Destroy</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#getMainWorker" class="tsd-kind-icon">get<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#handleError" class="tsd-kind-icon">handle<wbr/>Error</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#run" class="tsd-kind-icon">run</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ThreadWorker.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#runInAsyncScope" class="tsd-kind-icon">run<wbr/>In<wbr/>Async<wbr/>Scope</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="ThreadWorker.html#sendToMainWorker" class="tsd-kind-icon">send<wbr/>To<wbr/>Main<wbr/>Worker</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#triggerAsyncId" class="tsd-kind-icon">trigger<wbr/>Async<wbr/>Id</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited tsd-is-static tsd-is-external"><a href="ThreadWorker.html#bind-1" class="tsd-kind-icon">bind</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>
\ No newline at end of file
+
+<h3>Since</h3><p>v14.8.0, v12.19.0</p>
+</div>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Func<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span>, <span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span></h4></li>
+<li>
+<h4>ThisArg</h4></li></ul></section>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>fn: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span></h5>
+<div class="tsd-comment tsd-typography"><p>The function to bind to the current execution context.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> type: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>An optional name to associate with the underlying <code>AsyncResource</code>.</p>
+</div></li>
+<li>
+<h5><code class="tsd-tag ts-flagOptional">Optional</code> thisArg: <span class="tsd-signature-type" data-tsd-kind="Type parameter">ThisArg</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">Func</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-symbol">{ </span>asyncResource<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncResource</span><span class="tsd-signature-symbol"> }</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#bind-2">bind</a></p>
+<ul>
+<li>Defined in node_modules/@types/node/ts4.8/async_hooks.d.ts:273</li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-class"><a href="ThreadWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Thread<wbr/>Worker</span></a>
+<ul>
+<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="ThreadWorker.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg>constructor</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#aliveInterval" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>alive<wbr/>Interval?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#lastTaskTimestamp" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>last<wbr/>Task<wbr/>Timestamp</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#mainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>main<wbr/>Worker</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="ThreadWorker.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#asyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#bind" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#checkAlive" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>check<wbr/>Alive</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#emitDestroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>emit<wbr/>Destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#getMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#handleError" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>handle<wbr/>Error</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#messageListener" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>message<wbr/>Listener</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#run" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="ThreadWorker.html#runAsync" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>Async</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#runInAsyncScope" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>run<wbr/>In<wbr/>Async<wbr/>Scope</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="ThreadWorker.html#sendToMainWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>send<wbr/>To<wbr/>Main<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#triggerAsyncId" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>trigger<wbr/>Async<wbr/>Id</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external"><a href="ThreadWorker.html#bind-2" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>bind</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>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"><h1>poolifier</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/AbstractWorker.html" class="tsd-kind-icon">Abstract<wbr/>Worker</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/ClusterWorker.html" class="tsd-kind-icon">Cluster<wbr/>Worker</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/DynamicClusterPool.html" class="tsd-kind-icon">Dynamic<wbr/>Cluster<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/DynamicThreadPool.html" class="tsd-kind-icon">Dynamic<wbr/>Thread<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/FixedClusterPool.html" class="tsd-kind-icon">Fixed<wbr/>Cluster<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/FixedThreadPool.html" class="tsd-kind-icon">Fixed<wbr/>Thread<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/ThreadWorker.html" class="tsd-kind-icon">Thread<wbr/>Worker</a></li></ul></section><section class="tsd-index-section "><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface"><a href="interfaces/ClusterPoolOptions.html" class="tsd-kind-icon">Cluster<wbr/>Pool<wbr/>Options</a></li><li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/IPool.html" class="tsd-kind-icon">IPool</a></li><li class="tsd-kind-interface"><a href="interfaces/IWorker.html" class="tsd-kind-icon">IWorker</a></li><li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/PoolOptions.html" class="tsd-kind-icon">Pool<wbr/>Options</a></li><li class="tsd-kind-interface"><a href="interfaces/WorkerOptions.html" class="tsd-kind-icon">Worker<wbr/>Options</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#ErrorHandler" class="tsd-kind-icon">Error<wbr/>Handler</a></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#ExitHandler" class="tsd-kind-icon">Exit<wbr/>Handler</a></li><li class="tsd-kind-type-alias"><a href="index.html#KillBehavior" class="tsd-kind-icon">Kill<wbr/>Behavior</a></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#OnlineHandler" class="tsd-kind-icon">Online<wbr/>Handler</a></li><li class="tsd-kind-type-alias"><a href="index.html#ThreadWorkerWithMessageChannel" class="tsd-kind-icon">Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</a></li><li class="tsd-kind-type-alias"><a href="index.html#WorkerChoiceStrategy" class="tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategy</a></li></ul></section><section class="tsd-index-section "><h3>Variables</h3><ul class="tsd-index-list"><li class="tsd-kind-variable"><a href="index.html#KillBehaviors" class="tsd-kind-icon">Kill<wbr/>Behaviors</a></li><li class="tsd-kind-variable"><a href="index.html#WorkerChoiceStrategies" class="tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategies</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"><a id="ErrorHandler" class="tsd-anchor"></a><h3>Error<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">Error<wbr/>Handler<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span>, e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L23">src/pools/abstract-pool.ts:23</a></li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Worker</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span>, e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Error</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">
-<p>Callback invoked if the worker raised an error.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span></h5></li><li><h5>e: <span class="tsd-signature-type">Error</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"><a id="ExitHandler" class="tsd-anchor"></a><h3>Exit<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">Exit<wbr/>Handler<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span>, code<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Worker</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span>, code<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Callback invoked when the worker exits successfully.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span></h5></li><li><h5>code: <span class="tsd-signature-type">number</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="KillBehavior" class="tsd-anchor"></a><h3>Kill<wbr/>Behavior</h3><div class="tsd-signature tsd-kind-icon">Kill<wbr/>Behavior<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-symbol">typeof </span><a href="index.html#KillBehaviors" class="tsd-signature-type" data-tsd-kind="Variable">KillBehaviors</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/worker-options.ts#L18">src/worker/worker-options.ts:18</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Kill behavior.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"><a id="OnlineHandler" class="tsd-anchor"></a><h3>Online<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">Online<wbr/>Handler<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L28">src/pools/abstract-pool.ts:28</a></li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>Worker</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>this<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</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">
-<p>Callback invoked when the worker has started successfully.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="ThreadWorkerWithMessageChannel" class="tsd-anchor"></a><h3>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</h3><div class="tsd-signature tsd-kind-icon">Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol"> & </span><span class="tsd-signature-type">Draft</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">MessageChannel</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/thread/fixed.ts#L10">src/pools/thread/fixed.ts:10</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A thread worker with message channels for communication between main thread and thread worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="WorkerChoiceStrategy" class="tsd-anchor"></a><h3>Worker<wbr/>Choice<wbr/>Strategy</h3><div class="tsd-signature tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-symbol">typeof </span><a href="index.html#WorkerChoiceStrategies" class="tsd-signature-type" data-tsd-kind="Variable">WorkerChoiceStrategies</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/selection-strategies.ts#L22">src/pools/selection-strategies.ts:22</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Worker choice strategy.</p>
-</div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable"><a id="KillBehaviors" class="tsd-anchor"></a><h3>Kill<wbr/>Behaviors</h3><div class="tsd-signature tsd-kind-icon">Kill<wbr/>Behaviors<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>HARD<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"HARD"</span><span class="tsd-signature-symbol">; </span>SOFT<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"SOFT"</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/worker-options.ts#L4">src/worker/worker-options.ts:4</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Enumeration of kill behaviors.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-variable"><a id="WorkerChoiceStrategies" class="tsd-anchor"></a><h3>Worker<wbr/>Choice<wbr/>Strategies</h3><div class="tsd-signature tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategies<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>LESS_RECENTLY_USED<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">; </span>ROUND_ROBIN<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/selection-strategies.ts#L8">src/pools/selection-strategies.ts:8</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Enumeration of worker choice strategies.</p>
-</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/AbstractWorker.html" class="tsd-kind-icon">Abstract<wbr/>Worker</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/ClusterWorker.html" class="tsd-kind-icon">Cluster<wbr/>Worker</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/DynamicClusterPool.html" class="tsd-kind-icon">Dynamic<wbr/>Cluster<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/DynamicThreadPool.html" class="tsd-kind-icon">Dynamic<wbr/>Thread<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/FixedClusterPool.html" class="tsd-kind-icon">Fixed<wbr/>Cluster<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/FixedThreadPool.html" class="tsd-kind-icon">Fixed<wbr/>Thread<wbr/>Pool</a></li><li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/ThreadWorker.html" class="tsd-kind-icon">Thread<wbr/>Worker</a></li><li class="tsd-kind-interface"><a href="interfaces/ClusterPoolOptions.html" class="tsd-kind-icon">Cluster<wbr/>Pool<wbr/>Options</a></li><li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/IPool.html" class="tsd-kind-icon">IPool</a></li><li class="tsd-kind-interface"><a href="interfaces/IWorker.html" class="tsd-kind-icon">IWorker</a></li><li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/PoolOptions.html" class="tsd-kind-icon">Pool<wbr/>Options</a></li><li class="tsd-kind-interface"><a href="interfaces/WorkerOptions.html" class="tsd-kind-icon">Worker<wbr/>Options</a></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#ErrorHandler" class="tsd-kind-icon">Error<wbr/>Handler</a></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#ExitHandler" class="tsd-kind-icon">Exit<wbr/>Handler</a></li><li class="tsd-kind-type-alias"><a href="index.html#KillBehavior" class="tsd-kind-icon">Kill<wbr/>Behavior</a></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#OnlineHandler" class="tsd-kind-icon">Online<wbr/>Handler</a></li><li class="tsd-kind-type-alias"><a href="index.html#ThreadWorkerWithMessageChannel" class="tsd-kind-icon">Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</a></li><li class="tsd-kind-type-alias"><a href="index.html#WorkerChoiceStrategy" class="tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategy</a></li><li class="tsd-kind-variable"><a href="index.html#KillBehaviors" class="tsd-kind-icon">Kill<wbr/>Behaviors</a></li><li class="tsd-kind-variable"><a href="index.html#WorkerChoiceStrategies" class="tsd-kind-icon">Worker<wbr/>Choice<wbr/>Strategies</a></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>
\ No newline at end of file
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base=".">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<h2>poolifier</h2></div>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<h3 class="tsd-index-heading uppercase">Index</h3>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Classes</h3>
+<div class="tsd-index-list"><a href="classes/AbstractWorker.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Abstract<wbr/>Worker</span></a>
+<a href="classes/ClusterWorker.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Cluster<wbr/>Worker</span></a>
+<a href="classes/DynamicClusterPool.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Cluster<wbr/>Pool</span></a>
+<a href="classes/DynamicThreadPool.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Thread<wbr/>Pool</span></a>
+<a href="classes/FixedClusterPool.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Cluster<wbr/>Pool</span></a>
+<a href="classes/FixedThreadPool.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Thread<wbr/>Pool</span></a>
+<a href="classes/ThreadWorker.html" class="tsd-index-link tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Thread<wbr/>Worker</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Interfaces</h3>
+<div class="tsd-index-list"><a href="interfaces/ClusterPoolOptions.html" class="tsd-index-link tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Cluster<wbr/>Pool<wbr/>Options</span></a>
+<a href="interfaces/IPool.html" class="tsd-index-link tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IPool</span></a>
+<a href="interfaces/IPoolWorker.html" class="tsd-index-link tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IPool<wbr/>Worker</span></a>
+<a href="interfaces/PoolOptions.html" class="tsd-index-link tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Pool<wbr/>Options</span></a>
+<a href="interfaces/WorkerOptions.html" class="tsd-index-link tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Options</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Type Aliases</h3>
+<div class="tsd-index-list"><a href="types/ErrorHandler.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4194304-path"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)" id="icon-4194304-text"></path></svg><span>Error<wbr/>Handler</span></a>
+<a href="types/ExitHandler.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Exit<wbr/>Handler</span></a>
+<a href="types/KillBehavior.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Kill<wbr/>Behavior</span></a>
+<a href="types/OnlineHandler.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Online<wbr/>Handler</span></a>
+<a href="types/ThreadWorkerWithMessageChannel.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</span></a>
+<a href="types/WorkerChoiceStrategy.html" class="tsd-index-link tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+</div></section>
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Variables</h3>
+<div class="tsd-index-list"><a href="variables/KillBehaviors.html" class="tsd-index-link tsd-kind-variable"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-32-path"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)" id="icon-32-text"></path></svg><span>Kill<wbr/>Behaviors</span></a>
+<a href="variables/WorkerChoiceStrategies.html" class="tsd-index-link tsd-kind-variable"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategies</span></a>
+</div></section></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li class="current selected"><a href="index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="tsd-kind-class"><a href="classes/AbstractWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Abstract<wbr/>Worker</a></li>
+<li class="tsd-kind-class"><a href="classes/ClusterWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Cluster<wbr/>Worker</a></li>
+<li class="tsd-kind-class"><a href="classes/DynamicClusterPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Dynamic<wbr/>Cluster<wbr/>Pool</a></li>
+<li class="tsd-kind-class"><a href="classes/DynamicThreadPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Dynamic<wbr/>Thread<wbr/>Pool</a></li>
+<li class="tsd-kind-class"><a href="classes/FixedClusterPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Fixed<wbr/>Cluster<wbr/>Pool</a></li>
+<li class="tsd-kind-class"><a href="classes/FixedThreadPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Fixed<wbr/>Thread<wbr/>Pool</a></li>
+<li class="tsd-kind-class"><a href="classes/ThreadWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Thread<wbr/>Worker</a></li>
+<li class="tsd-kind-interface"><a href="interfaces/ClusterPoolOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>Cluster<wbr/>Pool<wbr/>Options</a></li>
+<li class="tsd-kind-interface"><a href="interfaces/IPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IPool</a></li>
+<li class="tsd-kind-interface"><a href="interfaces/IPoolWorker.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IPool<wbr/>Worker</a></li>
+<li class="tsd-kind-interface"><a href="interfaces/PoolOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>Pool<wbr/>Options</a></li>
+<li class="tsd-kind-interface"><a href="interfaces/WorkerOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>Worker<wbr/>Options</a></li>
+<li class="tsd-kind-type-alias"><a href="types/ErrorHandler.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Error<wbr/>Handler</a></li>
+<li class="tsd-kind-type-alias"><a href="types/ExitHandler.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Exit<wbr/>Handler</a></li>
+<li class="tsd-kind-type-alias"><a href="types/KillBehavior.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Kill<wbr/>Behavior</a></li>
+<li class="tsd-kind-type-alias"><a href="types/OnlineHandler.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Online<wbr/>Handler</a></li>
+<li class="tsd-kind-type-alias"><a href="types/ThreadWorkerWithMessageChannel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</a></li>
+<li class="tsd-kind-type-alias"><a href="types/WorkerChoiceStrategy.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Worker<wbr/>Choice<wbr/>Strategy</a></li>
+<li class="tsd-kind-variable"><a href="variables/KillBehaviors.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg>Kill<wbr/>Behaviors</a></li>
+<li class="tsd-kind-variable"><a href="variables/WorkerChoiceStrategies.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg>Worker<wbr/>Choice<wbr/>Strategies</a></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ClusterPoolOptions | 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="ClusterPoolOptions.html">ClusterPoolOptions</a></li></ul><h1>Interface ClusterPoolOptions</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">
-<p>Options for a poolifier cluster pool.</p>
-</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span><ul class="tsd-hierarchy"><li><span class="target">ClusterPoolOptions</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>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#enableEvents" class="tsd-kind-icon">enable<wbr/>Events</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ClusterPoolOptions.html#env" class="tsd-kind-icon">env</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#errorHandler" class="tsd-kind-icon">error<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#exitHandler" class="tsd-kind-icon">exit<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#messageHandler" class="tsd-kind-icon">message<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#onlineHandler" class="tsd-kind-icon">online<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#workerChoiceStrategy" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enableEvents" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> enable<wbr/>Events</h3><div class="tsd-signature tsd-kind-icon">enable<wbr/>Events<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#enableEvents">enableEvents</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L105">src/pools/abstract-pool.ts:105</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Pool events emission.</p>
-</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p>true</p>
-</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="env" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> env</h3><div class="tsd-signature tsd-kind-icon">env<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/cluster/fixed.ts#L18">src/pools/cluster/fixed.ts:18</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Key/value pairs to add to worker process environment.</p>
-</div><dl class="tsd-comment-tags"><dt>see</dt><dd><p><a href="https://nodejs.org/api/cluster.html#cluster_cluster_fork_env">https://nodejs.org/api/cluster.html#cluster_cluster_fork_env</a></p>
-</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="errorHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> error<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">error<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#ErrorHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#errorHandler">errorHandler</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L87">src/pools/abstract-pool.ts:87</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for error event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="exitHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> exit<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">exit<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#exitHandler">exitHandler</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L95">src/pools/abstract-pool.ts:95</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for exit event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="messageHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> message<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">message<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#messageHandler">messageHandler</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L83">src/pools/abstract-pool.ts:83</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for message event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="onlineHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> online<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">online<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#OnlineHandler" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#onlineHandler">onlineHandler</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L91">src/pools/abstract-pool.ts:91</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for online event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="workerChoiceStrategy" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> worker<wbr/>Choice<wbr/>Strategy</h3><div class="tsd-signature tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></div><aside class="tsd-sources"><p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#workerChoiceStrategy">workerChoiceStrategy</a></p><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L99">src/pools/abstract-pool.ts:99</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The work choice strategy to use in this pool.</p>
-</div></div></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-interface"><a href="ClusterPoolOptions.html" class="tsd-kind-icon">Cluster<wbr/>Pool<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#enableEvents" class="tsd-kind-icon">enable<wbr/>Events</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ClusterPoolOptions.html#env" class="tsd-kind-icon">env</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#errorHandler" class="tsd-kind-icon">error<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#exitHandler" class="tsd-kind-icon">exit<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#messageHandler" class="tsd-kind-icon">message<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#onlineHandler" class="tsd-kind-icon">online<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#workerChoiceStrategy" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy</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>
\ No newline at end of file
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ClusterPoolOptions | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="ClusterPoolOptions.html">ClusterPoolOptions</a></li></ul>
+<h1>Interface ClusterPoolOptions</h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>Options for a poolifier cluster pool.</p>
+</div></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><a href="PoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">PoolOptions</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span>
+<ul class="tsd-hierarchy">
+<li><span class="target">ClusterPoolOptions</span></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L11">src/pools/cluster/fixed.ts:11</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="ClusterPoolOptions.html#enableEvents" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>enable<wbr/>Events?</span></a>
+<a href="ClusterPoolOptions.html#env" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>env?</span></a>
+<a href="ClusterPoolOptions.html#errorHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>error<wbr/>Handler?</span></a>
+<a href="ClusterPoolOptions.html#exitHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>exit<wbr/>Handler?</span></a>
+<a href="ClusterPoolOptions.html#messageHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>message<wbr/>Handler?</span></a>
+<a href="ClusterPoolOptions.html#onlineHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>online<wbr/>Handler?</span></a>
+<a href="ClusterPoolOptions.html#workerChoiceStrategy" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy?</span></a>
+</div></section></div></details></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="enableEvents" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>enable<wbr/>Events</span><a href="#enableEvents" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<div class="tsd-signature">enable<wbr/>Events<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
+<div class="tsd-comment tsd-typography"><p>Pool events emission.</p>
+
+<h3>Default</h3><p>true</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#enableEvents">enableEvents</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L38">src/pools/pool.ts:38</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="env" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>env</span><a href="#env" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">env<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span></div>
+<div class="tsd-comment tsd-typography"><p>Key/value pairs to add to worker process environment.</p>
+
+<h3>See</h3><p><a href="https://nodejs.org/api/cluster.html#cluster_cluster_fork_env">https://nodejs.org/api/cluster.html#cluster_cluster_fork_env</a></p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L18">src/pools/cluster/fixed.ts:18</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="errorHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>error<wbr/>Handler</span><a href="#errorHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">error<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/ErrorHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for error event on each worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#errorHandler">errorHandler</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L20">src/pools/pool.ts:20</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="exitHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>exit<wbr/>Handler</span><a href="#exitHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">exit<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/ExitHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for exit event on each worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#exitHandler">exitHandler</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L28">src/pools/pool.ts:28</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="messageHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>message<wbr/>Handler</span><a href="#messageHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">message<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for message event on each worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#messageHandler">messageHandler</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L16">src/pools/pool.ts:16</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="onlineHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>online<wbr/>Handler</span><a href="#onlineHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">online<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/OnlineHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for online event on each worker.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#onlineHandler">onlineHandler</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L24">src/pools/pool.ts:24</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a id="workerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>worker<wbr/>Choice<wbr/>Strategy</span><a href="#workerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></div>
+<div class="tsd-comment tsd-typography"><p>The work choice strategy to use in this pool.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="PoolOptions.html">PoolOptions</a>.<a href="PoolOptions.html#workerChoiceStrategy">workerChoiceStrategy</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L32">src/pools/pool.ts:32</a></li></ul></aside></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-interface"><a href="ClusterPoolOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Cluster<wbr/>Pool<wbr/>Options</span></a>
+<ul>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#enableEvents" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>enable<wbr/>Events?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="ClusterPoolOptions.html#env" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>env?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#errorHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>error<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#exitHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>exit<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#messageHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>message<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#onlineHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>online<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="ClusterPoolOptions.html#workerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy?</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IPool | 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="IPool.html">IPool</a></li></ul><h1>Interface IPool<Data, Response></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">
-<p>Contract definition for a poolifier pool.</p>
-</div></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><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Type of data sent to the worker. This can only be serializable data.</p>
-</div></div></li><li><h4>Response = <span class="tsd-signature-type">unknown</span></h4><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Type of response of execution. This can only be serializable data.</p>
-</div></div></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">IPool</span></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>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#setWorkerChoiceStrategy" class="tsd-kind-icon">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="destroy" class="tsd-anchor"></a><h3>destroy</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/pool.ts#L20">src/pools/pool.ts:20</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Shut down every current worker in this pool.</p>
-</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="execute" class="tsd-anchor"></a><h3>execute</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/pool.ts#L16">src/pools/pool.ts:16</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Perform the task specified in the constructor with the data parameter.</p>
-</div></div><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><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The input for the specified task. This can only be serializable data.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><div><p>Promise that will be resolved when the task is successfully completed.</p>
-</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><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-interface"><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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/pool.ts#L26">src/pools/pool.ts:26</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Set the worker choice strategy in this pool.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The worker choice strategy.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></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-interface tsd-has-type-parameter"><a href="IPool.html" class="tsd-kind-icon">IPool</a><ul><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#destroy" class="tsd-kind-icon">destroy</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#execute" class="tsd-kind-icon">execute</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#setWorkerChoiceStrategy" class="tsd-kind-icon">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</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>
\ No newline at end of file
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IPool | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="IPool.html">IPool</a></li></ul>
+<h1>Interface IPool<Data, Response></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>Contract definition for a poolifier pool.</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Data = <span class="tsd-signature-type">unknown</span></h4>
+<div class="tsd-comment tsd-typography"><p>Type of data sent to the worker. This can only be serializable data.</p>
+</div></li>
+<li>
+<h4>Response = <span class="tsd-signature-type">unknown</span></h4>
+<div class="tsd-comment tsd-typography"><p>Type of response of execution. This can only be serializable data.</p>
+</div></li></ul></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="target">IPool</span></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L47">src/pools/pool.ts:47</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Methods</h3>
+<div class="tsd-index-list"><a href="IPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>destroy</span></a>
+<a href="IPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
+<a href="IPool.html#setWorkerChoiceStrategy" class="tsd-index-link tsd-kind-method tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
+</div></section></div></details></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="destroy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1">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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#destroy.destroy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Shut down every current worker in this pool.</p>
+</div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L58">src/pools/pool.ts:58</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="execute" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+<li class="tsd-signature tsd-anchor-link" id="execute.execute-1">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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span><a href="#execute.execute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Perform the task specified in the constructor with the data parameter.</p>
+
+<h3>Returns</h3><p>Promise that will be resolved when the task is successfully completed.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>data: <span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span></h5>
+<div class="tsd-comment tsd-typography"><p>The input for the specified task. This can only be serializable data.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L54">src/pools/pool.ts:54</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">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">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Set the worker choice strategy in this pool.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></h5>
+<div class="tsd-comment tsd-typography"><p>The worker choice strategy.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L64">src/pools/pool.ts:64</a></li></ul></aside></li></ul></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-interface"><a href="IPool.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>IPool</span></a>
+<ul>
+<li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
+<li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
+<li class="tsd-kind-method tsd-parent-kind-interface"><a href="IPool.html#setWorkerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IWorker | 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="IWorker.html">IWorker</a></li></ul><h1>Interface IWorker</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">
-<p>Basic interface that describes the minimum required implementation of listener events for a pool-worker.</p>
-</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">IWorker</span></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>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IWorker.html#on" class="tsd-kind-icon">on</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IWorker.html#once" class="tsd-kind-icon">once</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="on" class="tsd-anchor"></a><h3>on</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"message"</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><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><li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"error"</span>, handler<span class="tsd-signature-symbol">: </span><a href="../index.html#ErrorHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><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><li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"online"</span>, handler<span class="tsd-signature-symbol">: </span><a href="../index.html#OnlineHandler" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><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><li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"exit"</span>, handler<span class="tsd-signature-symbol">: </span><a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L45">src/pools/abstract-pool.ts:45</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Register a listener to the message event.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>event: <span class="tsd-signature-type">"message"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>'message'</code>.</p>
-</div></div></li><li><h5>handler: <span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The message handler.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L52">src/pools/abstract-pool.ts:52</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Register a listener to the error event.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>event: <span class="tsd-signature-type">"error"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>'error'</code>.</p>
-</div></div></li><li><h5>handler: <a href="../index.html#ErrorHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The error handler.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L59">src/pools/abstract-pool.ts:59</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Register a listener to the online event.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>event: <span class="tsd-signature-type">"online"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>'online'</code>.</p>
-</div></div></li><li><h5>handler: <a href="../index.html#OnlineHandler" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The online handler.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L66">src/pools/abstract-pool.ts:66</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Register a listener to the exit event.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>event: <span class="tsd-signature-type">"exit"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>'exit'</code>.</p>
-</div></div></li><li><h5>handler: <a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The exit handler.</p>
-</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-interface"><a id="once" class="tsd-anchor"></a><h3>once</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">once<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"exit"</span>, handler<span class="tsd-signature-symbol">: </span><a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><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"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L73">src/pools/abstract-pool.ts:73</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Register a listener to the exit event that will only performed once.</p>
-</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>event: <span class="tsd-signature-type">"exit"</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>'exit'</code>.</p>
-</div></div></li><li><h5>handler: <a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><a href="IWorker.html" class="tsd-signature-type" data-tsd-kind="Interface">IWorker</a><span class="tsd-signature-symbol">></span></h5><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The exit handler.</p>
-</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></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-interface"><a href="IWorker.html" class="tsd-kind-icon">IWorker</a><ul><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IWorker.html#on" class="tsd-kind-icon">on</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="IWorker.html#once" class="tsd-kind-icon">once</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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PoolOptions | 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="PoolOptions.html">PoolOptions</a></li></ul><h1>Interface PoolOptions<Worker></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">
-<p>Options for a poolifier pool.</p>
-</div></div></section><section class="tsd-panel tsd-type-parameters"><h3>Type parameters</h3><ul class="tsd-type-parameters"><li><h4>Worker</h4></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">PoolOptions</span><ul class="tsd-hierarchy"><li><a href="ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a></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>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#enableEvents" class="tsd-kind-icon">enable<wbr/>Events</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#errorHandler" class="tsd-kind-icon">error<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#exitHandler" class="tsd-kind-icon">exit<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#messageHandler" class="tsd-kind-icon">message<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#onlineHandler" class="tsd-kind-icon">online<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#workerChoiceStrategy" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enableEvents" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> enable<wbr/>Events</h3><div class="tsd-signature tsd-kind-icon">enable<wbr/>Events<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L105">src/pools/abstract-pool.ts:105</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Pool events emission.</p>
-</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p>true</p>
-</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="errorHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> error<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">error<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#ErrorHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L87">src/pools/abstract-pool.ts:87</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for error event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="exitHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> exit<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">exit<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#ExitHandler" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L95">src/pools/abstract-pool.ts:95</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for exit event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="messageHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> message<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">message<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L83">src/pools/abstract-pool.ts:83</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for message event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="onlineHandler" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> online<wbr/>Handler</h3><div class="tsd-signature tsd-kind-icon">online<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../index.html#OnlineHandler" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L91">src/pools/abstract-pool.ts:91</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>A function that will listen for online event on each worker.</p>
-</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="workerChoiceStrategy" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> worker<wbr/>Choice<wbr/>Strategy</h3><div class="tsd-signature tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/pools/abstract-pool.ts#L99">src/pools/abstract-pool.ts:99</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>The work choice strategy to use in this pool.</p>
-</div></div></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-interface tsd-has-type-parameter"><a href="PoolOptions.html" class="tsd-kind-icon">Pool<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#enableEvents" class="tsd-kind-icon">enable<wbr/>Events</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#errorHandler" class="tsd-kind-icon">error<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#exitHandler" class="tsd-kind-icon">exit<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#messageHandler" class="tsd-kind-icon">message<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#onlineHandler" class="tsd-kind-icon">online<wbr/>Handler</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#workerChoiceStrategy" class="tsd-kind-icon">worker<wbr/>Choice<wbr/>Strategy</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>
\ No newline at end of file
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PoolOptions | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="PoolOptions.html">PoolOptions</a></li></ul>
+<h1>Interface PoolOptions<Worker></h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>Options for a poolifier pool.</p>
+</div></section>
+<section class="tsd-panel tsd-type-parameters">
+<h4>Type Parameters</h4>
+<ul class="tsd-type-parameters">
+<li>
+<h4>Worker</h4></li></ul></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="target">PoolOptions</span>
+<ul class="tsd-hierarchy">
+<li><a href="ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a></li></ul></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L12">src/pools/pool.ts:12</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="PoolOptions.html#enableEvents" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>enable<wbr/>Events?</span></a>
+<a href="PoolOptions.html#errorHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>error<wbr/>Handler?</span></a>
+<a href="PoolOptions.html#exitHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>exit<wbr/>Handler?</span></a>
+<a href="PoolOptions.html#messageHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>message<wbr/>Handler?</span></a>
+<a href="PoolOptions.html#onlineHandler" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>online<wbr/>Handler?</span></a>
+<a href="PoolOptions.html#workerChoiceStrategy" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy?</span></a>
+</div></section></div></details></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="enableEvents" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>enable<wbr/>Events</span><a href="#enableEvents" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<div class="tsd-signature">enable<wbr/>Events<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
+<div class="tsd-comment tsd-typography"><p>Pool events emission.</p>
+
+<h3>Default</h3><p>true</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L38">src/pools/pool.ts:38</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="errorHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>error<wbr/>Handler</span><a href="#errorHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">error<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/ErrorHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">ErrorHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for error event on each worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L20">src/pools/pool.ts:20</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="exitHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>exit<wbr/>Handler</span><a href="#exitHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">exit<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/ExitHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">ExitHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for exit event on each worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L28">src/pools/pool.ts:28</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="messageHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>message<wbr/>Handler</span><a href="#messageHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">message<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">MessageHandler</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for message event on each worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L16">src/pools/pool.ts:16</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="onlineHandler" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>online<wbr/>Handler</span><a href="#onlineHandler" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">online<wbr/>Handler<span class="tsd-signature-symbol">?:</span> <a href="../types/OnlineHandler.html" class="tsd-signature-type" data-tsd-kind="Type alias">OnlineHandler</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Worker</span><span class="tsd-signature-symbol">></span></div>
+<div class="tsd-comment tsd-typography"><p>A function that will listen for online event on each worker.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L24">src/pools/pool.ts:24</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="workerChoiceStrategy" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>worker<wbr/>Choice<wbr/>Strategy</span><a href="#workerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"ROUND_ROBIN"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LESS_RECENTLY_USED"</span></div>
+<div class="tsd-comment tsd-typography"><p>The work choice strategy to use in this pool.</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/pool.ts#L32">src/pools/pool.ts:32</a></li></ul></aside></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-interface"><a href="PoolOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Pool<wbr/>Options</span></a>
+<ul>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#enableEvents" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>enable<wbr/>Events?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#errorHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>error<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#exitHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>exit<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#messageHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>message<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#onlineHandler" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>online<wbr/>Handler?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="PoolOptions.html#workerChoiceStrategy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy?</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
-<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkerOptions | 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="WorkerOptions.html">WorkerOptions</a></li></ul><h1>Interface WorkerOptions</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">
-<p>Options for workers.</p>
-</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">WorkerOptions</span></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>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#killBehavior" class="tsd-kind-icon">kill<wbr/>Behavior</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#maxInactiveTime" class="tsd-kind-icon">max<wbr/>Inactive<wbr/>Time</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="async" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> async</h3><div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/worker-options.ts#L57">src/worker/worker-options.ts:57</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Whether your worker will perform asynchronous or not.</p>
-</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p>false</p>
-</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="killBehavior" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> kill<wbr/>Behavior</h3><div class="tsd-signature tsd-kind-icon">kill<wbr/>Behavior<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"SOFT"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"HARD"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/worker-options.ts#L68">src/worker/worker-options.ts:68</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p><code>killBehavior</code> dictates if your async unit (worker/process) will be deleted in case that a task is active on it.</p>
-</div><div><ul>
+<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkerOptions | 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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
+<div class="tsd-toolbar-contents container">
+<div class="table-cell" id="tsd-search" data-base="..">
+<div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></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"><a href="#" class="tsd-widget menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
+<div class="container container-main">
+<div class="col-8 col-content">
+<div class="tsd-page-title">
+<ul class="tsd-breadcrumb">
+<li><a href="../index.html">poolifier</a></li>
+<li><a href="WorkerOptions.html">WorkerOptions</a></li></ul>
+<h1>Interface WorkerOptions</h1></div>
+<section class="tsd-panel tsd-comment">
+<div class="tsd-comment tsd-typography"><p>Options for workers.</p>
+</div></section>
+<section class="tsd-panel tsd-hierarchy">
+<h4>Hierarchy</h4>
+<ul class="tsd-hierarchy">
+<li><span class="target">WorkerOptions</span></li></ul></section><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/worker-options.ts#L38">src/worker/worker-options.ts:38</a></li></ul></aside>
+<section class="tsd-panel-group tsd-index-group">
+<section class="tsd-panel tsd-index-panel">
+<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
+<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
+<div class="tsd-accordion-details">
+<section class="tsd-index-section">
+<h3 class="tsd-index-heading">Properties</h3>
+<div class="tsd-index-list"><a href="WorkerOptions.html#async" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>async?</span></a>
+<a href="WorkerOptions.html#killBehavior" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>kill<wbr/>Behavior?</span></a>
+<a href="WorkerOptions.html#maxInactiveTime" class="tsd-index-link tsd-kind-property tsd-parent-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>max<wbr/>Inactive<wbr/>Time?</span></a>
+</div></section></div></details></section></section>
+<section class="tsd-panel-group tsd-member-group">
+<h2>Properties</h2>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="async" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>async</span><a href="#async" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
+<div class="tsd-signature">async<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
+<div class="tsd-comment tsd-typography"><p>Whether your worker will perform asynchronous or not.</p>
+
+<h3>Default</h3><p>false</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/worker-options.ts#L57">src/worker/worker-options.ts:57</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="killBehavior" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>kill<wbr/>Behavior</span><a href="#killBehavior" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">kill<wbr/>Behavior<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">"SOFT"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"HARD"</span></div>
+<div class="tsd-comment tsd-typography"><p><code>killBehavior</code> dictates if your async unit (worker/process) will be deleted in case that a task is active on it.</p>
+<ul>
<li>SOFT: If <code>currentTime - lastActiveTime</code> is greater than <code>maxInactiveTime</code> but a task is still running, then the worker <strong>won't</strong> be deleted.</li>
<li>HARD: If <code>lastActiveTime</code> is greater than <code>maxInactiveTime</code> but a task is still running, then the worker will be deleted.</li>
</ul>
<p>This option only apply to the newly created workers.</p>
-</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p>KillBehaviors.SOFT</p>
-</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxInactiveTime" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> max<wbr/>Inactive<wbr/>Time</h3><div class="tsd-signature tsd-kind-icon">max<wbr/>Inactive<wbr/>Time<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/poolifier/poolifier/blob/0136f64/src/worker/worker-options.ts#L51">src/worker/worker-options.ts:51</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
-<p>Maximum waiting time in milliseconds for tasks.</p>
-</div><div><p>After this time, newly created workers will be terminated.
+
+<h3>Default</h3><p>KillBehaviors.SOFT</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/worker-options.ts#L68">src/worker/worker-options.ts:68</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="maxInactiveTime" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <span>max<wbr/>Inactive<wbr/>Time</span><a href="#maxInactiveTime" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">max<wbr/>Inactive<wbr/>Time<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div>
+<div class="tsd-comment tsd-typography"><p>Maximum waiting time in milliseconds for tasks.</p>
+<p>After this time, newly created workers will be terminated.
The last active time of your worker unit will be updated when a task is submitted to a worker or when a worker terminate a task.</p>
<ul>
<li>If <code>killBehavior</code> is set to <code>KillBehaviors.HARD</code> this value represents also the timeout for the tasks that you submit to the pool,
when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool.</li>
<li>If <code>killBehavior</code> is set to <code>KillBehaviors.SOFT</code> your tasks have no timeout and your workers will not be terminated until your task is completed.</li>
</ul>
-</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p>60.000 ms</p>
-</dd></dl></div></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-interface"><a href="WorkerOptions.html" class="tsd-kind-icon">Worker<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#killBehavior" class="tsd-kind-icon">kill<wbr/>Behavior</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#maxInactiveTime" class="tsd-kind-icon">max<wbr/>Inactive<wbr/>Time</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>
\ No newline at end of file
+
+<h3>Default</h3><p>60.000 ms</p>
+</div><aside class="tsd-sources">
+<ul>
+<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/worker/worker-options.ts#L51">src/worker/worker-options.ts:51</a></li></ul></aside></section></section></div>
+<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+<div class="tsd-navigation settings">
+<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
+<div class="tsd-accordion-details">
+<div class="tsd-filter-visibility">
+<h4 class="uppercase">Member Visibility</h4><form>
+<ul id="tsd-filter-options">
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
+<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
+<div class="tsd-theme-toggle">
+<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
+<nav class="tsd-navigation primary">
+<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
+<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
+<div class="tsd-accordion-details">
+<ul>
+<li><a href="../index.html">poolifier</a>
+<ul></ul></li></ul></div></details></nav>
+<nav class="tsd-navigation secondary menu-sticky">
+<ul>
+<li class="current tsd-kind-interface"><a href="WorkerOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Worker<wbr/>Options</span></a>
+<ul>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#async" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>async?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#killBehavior" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>kill<wbr/>Behavior?</a></li>
+<li class="tsd-kind-property tsd-parent-kind-interface"><a href="WorkerOptions.html#maxInactiveTime" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>max<wbr/>Inactive<wbr/>Time?</a></li></ul></li></ul></nav></div></div>
+<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>
\ No newline at end of file
* Basic class that implement the minimum required for a pool worker.
*/
export abstract class AbstractPoolWorker implements IPoolWorker {
- /** @inheritdoc */
+ /** @inheritDoc */
abstract on (event: 'message', handler: MessageHandler<this>): void
- /** @inheritdoc */
+ /** @inheritDoc */
abstract on (event: 'error', handler: ErrorHandler<this>): void
- /** @inheritdoc */
+ /** @inheritDoc */
abstract on (event: 'online', handler: OnlineHandler<this>): void
- /** @inheritdoc */
+ /** @inheritDoc */
abstract on (event: 'exit', handler: ExitHandler<this>): void
- /** @inheritdoc */
+ /** @inheritDoc */
abstract once (event: 'exit', handler: ExitHandler<this>): void
}
Data = unknown,
Response = unknown
> implements IPoolInternal<Worker, Data, Response> {
- /** @inheritdoc */
+ /** @inheritDoc */
public readonly workers: Worker[] = []
- /** @inheritdoc */
+ /** @inheritDoc */
public readonly tasks: Map<Worker, number> = new Map<Worker, number>()
- /** @inheritdoc */
+ /** @inheritDoc */
public readonly emitter?: PoolEmitter
- /** @inheritdoc */
+ /** @inheritDoc */
public readonly max?: number
/**
this.opts.enableEvents = opts.enableEvents ?? true
}
- /** @inheritdoc */
+ /** @inheritDoc */
public abstract get type (): PoolType
- /** @inheritdoc */
+ /** @inheritDoc */
public get numberOfRunningTasks (): number {
return this.promiseMap.size
}
- /** @inheritdoc */
+ /** @inheritDoc */
public getWorkerRunningTasks (worker: Worker): number | undefined {
return this.tasks.get(worker)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public getWorkerIndex (worker: Worker): number {
return this.workers.indexOf(worker)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public setWorkerChoiceStrategy (
workerChoiceStrategy: WorkerChoiceStrategy
): void {
)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public abstract get busy (): boolean
protected internalGetBusyStatus (): boolean {
)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public findFreeWorker (): Worker | false {
for (const worker of this.workers) {
if (this.getWorkerRunningTasks(worker) === 0) {
return false
}
- /** @inheritdoc */
+ /** @inheritDoc */
public execute (data: Data): Promise<Response> {
// Configure worker to handle message with the specified task
const worker = this.chooseWorker()
return res
}
- /** @inheritdoc */
+ /** @inheritDoc */
public async destroy (): Promise<void> {
await Promise.all(this.workers.map(worker => this.destroyWorker(worker)))
}
super(min, filePath, opts)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get type (): PoolType {
return PoolType.DYNAMIC
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get busy (): boolean {
return this.workers.length === this.max
}
super(numberOfWorkers, filePath, opts)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected setupHook (): void {
cluster.setupPrimary({
exec: this.filePath
})
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected isMain (): boolean {
return cluster.isPrimary
}
- /** @inheritdoc */
+ /** @inheritDoc */
public destroyWorker (worker: Worker): void {
this.sendToWorker(worker, { kill: 1 })
worker.kill()
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected sendToWorker (worker: Worker, message: MessageValue<Data>): void {
worker.send(message)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public registerWorkerMessageListener<Message extends Data | Response> (
worker: Worker,
listener: (message: MessageValue<Message>) => void
worker.on('message', listener)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected createWorker (): Worker {
return cluster.fork(this.opts.env)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected afterWorkerSetup (worker: Worker): void {
// Listen worker messages.
this.registerWorkerMessageListener(worker, super.workerListener())
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get type (): PoolType {
return PoolType.FIXED
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get busy (): boolean {
return this.internalGetBusyStatus()
}
Data,
Response
> implements IWorkerChoiceStrategy<Worker> {
- /** @inheritdoc */
+ /** @inheritDoc */
public isDynamicPool: boolean = this.pool.type === PoolType.DYNAMIC
/**
protected readonly pool: IPoolInternal<Worker, Data, Response>
) {}
- /** @inheritdoc */
+ /** @inheritDoc */
public abstract choose (): Worker
}
)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public choose (): Worker {
const freeWorker = this.pool.findFreeWorker()
if (freeWorker) {
Data,
Response
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response> {
- /** @inheritdoc */
+ /** @inheritDoc */
public choose (): Worker {
let minNumberOfRunningTasks = Infinity
// A worker is always found because it picks the one with fewer tasks
*/
private nextWorkerIndex: number = 0
- /** @inheritdoc */
+ /** @inheritDoc */
public choose (): Worker {
const chosenWorker = this.pool.workers[this.nextWorkerIndex]
this.nextWorkerIndex =
super(min, filePath, opts)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get type (): PoolType {
return PoolType.DYNAMIC
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get busy (): boolean {
return this.workers.length === this.max
}
super(numberOfThreads, filePath, opts)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected isMain (): boolean {
return isMainThread
}
- /** @inheritdoc */
+ /** @inheritDoc */
public async destroyWorker (
worker: ThreadWorkerWithMessageChannel
): Promise<void> {
await worker.terminate()
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected sendToWorker (
worker: ThreadWorkerWithMessageChannel,
message: MessageValue<Data>
worker.postMessage(message)
}
- /** @inheritdoc */
+ /** @inheritDoc */
public registerWorkerMessageListener<Message extends Data | Response> (
messageChannel: ThreadWorkerWithMessageChannel,
listener: (message: MessageValue<Message>) => void
messageChannel.port2?.on('message', listener)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected createWorker (): ThreadWorkerWithMessageChannel {
return new Worker(this.filePath, {
env: SHARE_ENV
})
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected afterWorkerSetup (worker: ThreadWorkerWithMessageChannel): void {
const { port1, port2 } = new MessageChannel()
worker.postMessage({ parent: port1 }, [port1])
this.registerWorkerMessageListener(worker, super.workerListener())
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get type (): PoolType {
return PoolType.FIXED
}
- /** @inheritdoc */
+ /** @inheritDoc */
public get busy (): boolean {
return this.internalGetBusyStatus()
}
)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected sendToMainWorker (message: MessageValue<Response>): void {
this.getMainWorker().send(message)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected handleError (e: Error | string): string {
return e instanceof Error ? e.message : e
}
super('worker-thread-pool:poolifier', isMainThread, fn, parentPort, opts)
}
- /** @inheritdoc */
+ /** @inheritDoc */
protected sendToMainWorker (message: MessageValue<Response>): void {
this.getMainWorker().postMessage(message)
}