ac3ad1ec33329c5b508b5114e5d1a7b5ece01686
[poolifier.git] / examples / typescript / websocket-server-pool / ws-hybrid / src / types.ts
1 import type { Worker } from 'node:worker_threads'
2 import type { PoolOptions } from 'poolifier'
3
4 export enum MessageType {
5 echo = 'echo',
6 factorial = 'factorial'
7 }
8
9 export interface MessagePayload<T = unknown> {
10 type: MessageType
11 data: T
12 }
13
14 export interface DataPayload {
15 number?: number
16 }
17
18 export interface ClusterWorkerData extends PoolOptions<Worker> {
19 port: number
20 workerFile: string
21 minWorkers?: number
22 maxWorkers?: number
23 }
24
25 export interface ClusterWorkerResponse {
26 status: boolean
27 port?: number
28 }
29
30 export interface ThreadWorkerData<T = unknown> {
31 data: T
32 }
33
34 export interface ThreadWorkerResponse<T = unknown> {
35 data: T
36 }