repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge dependabot/npm_and_yarn/examples/typescript/websocket-server-pool/ws-hybrid...
[poolifier.git]
/
src
/
utility-types.ts
diff --git
a/src/utility-types.ts
b/src/utility-types.ts
index 0723b4395407a94b18d3cafcfc6e5db2360017e0..e1fb311e45b4eb8ed0e5d33cda3b3806d7526f5b 100644
(file)
--- a/
src/utility-types.ts
+++ b/
src/utility-types.ts
@@
-1,6
+1,6
@@
import type { EventLoopUtilization } from 'node:perf_hooks'
import type { EventLoopUtilization } from 'node:perf_hooks'
+import type { MessagePort, TransferListItem } from 'node:worker_threads'
import type { KillBehavior } from './worker/worker-options'
import type { KillBehavior } from './worker/worker-options'
-import type { IWorker } from './pools/worker'
/**
* Task error.
/**
* Task error.
@@
-47,13
+47,19
@@
export interface TaskPerformance {
}
/**
}
/**
- *
Performance statistics computation
.
+ *
Worker task performance statistics computation settings
.
*
* @internal
*/
export interface WorkerStatistics {
*
* @internal
*/
export interface WorkerStatistics {
- runTime: boolean
- elu: boolean
+ /**
+ * Whether the worker computes the task runtime or not.
+ */
+ readonly runTime: boolean
+ /**
+ * Whether the worker computes the task event loop utilization (ELU) or not.
+ */
+ readonly elu: boolean
}
/**
}
/**
@@
-75,14
+81,18
@@
export interface Task<Data = unknown> {
* Task input data that will be passed to the worker.
*/
readonly data?: Data
* Task input data that will be passed to the worker.
*/
readonly data?: Data
+ /**
+ * Array of transferable objects.
+ */
+ readonly transferList?: TransferListItem[]
/**
* Timestamp.
*/
readonly timestamp?: number
/**
/**
* Timestamp.
*/
readonly timestamp?: number
/**
- *
Message
UUID.
+ *
Task
UUID.
*/
*/
- readonly
i
d?: string
+ readonly
taskI
d?: string
}
/**
}
/**
@@
-97,7
+107,7
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
/**
* Kill code.
*/
/**
* Kill code.
*/
- readonly kill?: KillBehavior | true
+ readonly kill?: KillBehavior | true
| 'success' | 'failure'
/**
* Task error.
*/
/**
* Task error.
*/
@@
-106,6
+116,10
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
* Task performance.
*/
readonly taskPerformance?: TaskPerformance
* Task performance.
*/
readonly taskPerformance?: TaskPerformance
+ /**
+ * Task function names.
+ */
+ readonly taskFunctions?: string[]
/**
* Whether the worker computes the given statistics or not.
*/
/**
* Whether the worker computes the given statistics or not.
*/
@@
-118,19
+132,19
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
* Whether the worker starts or stops its activity check.
*/
readonly checkActive?: boolean
* Whether the worker starts or stops its activity check.
*/
readonly checkActive?: boolean
+ /**
+ * Message port.
+ */
+ readonly port?: MessagePort
}
/**
}
/**
- * An object holding the execution response promise resolve/reject callbacks.
+ * An object holding the
task
execution response promise resolve/reject callbacks.
*
*
- * @typeParam Worker - Type of worker.
* @typeParam Response - Type of execution response. This can only be structured-cloneable data.
* @internal
*/
* @typeParam Response - Type of execution response. This can only be structured-cloneable data.
* @internal
*/
-export interface PromiseResponseWrapper<
- Worker extends IWorker,
- Response = unknown
-> {
+export interface PromiseResponseWrapper<Response = unknown> {
/**
* Resolve callback to fulfill the promise.
*/
/**
* Resolve callback to fulfill the promise.
*/
@@
-140,7
+154,9
@@
export interface PromiseResponseWrapper<
*/
readonly reject: (reason?: unknown) => void
/**
*/
readonly reject: (reason?: unknown) => void
/**
- * The worker
handling the execution
.
+ * The worker
node key executing the task
.
*/
*/
- readonly worker
: Work
er
+ readonly worker
NodeKey: numb
er
}
}
+
+export type Writable<T> = { -readonly [P in keyof T]: T[P] }