Skip to content

Commit 17e63e8

Browse files
authored
refactor: dispatch async work queue in shared memory (#200)
1 parent 361b183 commit 17e63e8

9 files changed

Lines changed: 532 additions & 156 deletions

File tree

packages/core/src/emnapi/index.d.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ export declare interface NapiModule {
3939
}
4040

4141
init (options: InitOptions): any
42-
initWorker (arg: number): void
43-
executeAsyncWork (work: number): void
42+
initWorker (arg: number, func: [number, number]): void
4443
postMessage?: (msg: any) => any
4544

4645
waitThreadStart: boolean | number

packages/core/src/worker.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,7 @@ export class MessageHandler extends ThreadMessageHandler {
6464
try {
6565
if (type === 'async-worker-init') {
6666
this.handleAfterLoad(e, () => {
67-
this.napiModule!.initWorker(payload.arg)
68-
})
69-
} else if (type === 'async-work-execute') {
70-
this.handleAfterLoad(e, () => {
71-
this.napiModule!.executeAsyncWork(payload.work)
67+
this.napiModule!.initWorker(payload.arg, payload.func)
7268
})
7369
}
7470
} catch (err) {

0 commit comments

Comments
 (0)