UNPKG

@realsee/five

Version:

Realsee Renderer SDK

27 lines (26 loc) • 933 B
export type WorkerType<Input, Output> = { Input: Input; Output: Output; }; export type WorkerCallback<T extends WorkerType<any, any>> = (input: T['Input']) => Promise<{ output: T['Output']; transfer: Transferable[]; }>; export declare function defineWorker<T extends WorkerType<any, any>>(callback: WorkerCallback<T>): void; export type WorkerCreator = (workId: number) => Worker; export declare class WorkerPool<T extends WorkerType<any, any>> { private disposed; private pool; private queue; private workers; private workerResolvers; private workerStatus; private workerCreator; constructor(workerCreator: WorkerCreator | null, pool: number); setWorkerCreator(workerCreator: WorkerCreator): void; private initWorker; private getIdleWorker; private onMessage; postMessage(input: T['Input'], transfer?: Transferable[]): Promise<T['Output']>; dispose(): void; }