repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: rename src/charging-station/Utils.ts -> src/charging-station/Helpers.ts
[e-mobility-charging-stations-simulator.git]
/
src
/
worker
/
WorkerTypes.ts
diff --git
a/src/worker/WorkerTypes.ts
b/src/worker/WorkerTypes.ts
index 6f780bce30dc6c6f274578a38972f7b28844adb3..12d5ab26f13f7d62c408f20a8f55f09b862ca7b5 100644
(file)
--- a/
src/worker/WorkerTypes.ts
+++ b/
src/worker/WorkerTypes.ts
@@
-1,43
+1,58
@@
import type { Worker } from 'node:worker_threads';
import type { Worker } from 'node:worker_threads';
-import
type {
PoolOptions } from 'poolifier';
+import
{ type PoolEvent, PoolEvents, type Thread
PoolOptions } from 'poolifier';
export enum WorkerProcessType {
workerSet = 'workerSet',
export enum WorkerProcessType {
workerSet = 'workerSet',
+ /** @experimental */
dynamicPool = 'dynamicPool',
staticPool = 'staticPool',
}
dynamicPool = 'dynamicPool',
staticPool = 'staticPool',
}
-export type SetInfo = {
+export interface SetInfo {
+ version: string;
+ type: string;
+ worker: string;
size: number;
size: number;
-
runningElements
: number;
+
elementsExecuting
: number;
elementsPerWorker: number;
elementsPerWorker: number;
-};
+}
+
+export enum WorkerSetEvents {
+ error = 'error',
+ elementStarted = 'elementStarted',
+ elementError = 'elementError',
+}
-export type MessageHandler<T> = (this: T, message: unknown) => void;
+export const WorkerEvents = {
+ ...PoolEvents,
+ ...WorkerSetEvents,
+} as const;
+export type WorkerEvents = PoolEvent | WorkerSetEvents;
-export
type WorkerOptions =
{
+export
interface WorkerOptions
{
workerStartDelay?: number;
elementStartDelay?: number;
poolMaxSize: number;
poolMinSize: number;
elementsPerWorker?: number;
workerStartDelay?: number;
elementStartDelay?: number;
poolMaxSize: number;
poolMinSize: number;
elementsPerWorker?: number;
- poolOptions?: PoolOptions<Worker>;
- messageHandler?: MessageHandler<Worker>;
-};
+ poolOptions?: ThreadPoolOptions;
+}
export type WorkerData = Record<string, unknown>;
export type WorkerData = Record<string, unknown>;
-export
type WorkerSetElement =
{
+export
interface WorkerSetElement
{
worker: Worker;
numberOfWorkerElements: number;
worker: Worker;
numberOfWorkerElements: number;
-}
;
+}
-export
type WorkerMessage<T extends WorkerData> =
{
-
id
: WorkerMessageEvents;
+export
interface WorkerMessage<T extends WorkerData>
{
+
event
: WorkerMessageEvents;
data: T;
data: T;
-}
;
+}
export enum WorkerMessageEvents {
startWorkerElement = 'startWorkerElement',
export enum WorkerMessageEvents {
startWorkerElement = 'startWorkerElement',
+ startWorkerElementError = 'startWorkerElementError',
+ startedWorkerElement = 'startedWorkerElement',
}
}