UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

37 lines (36 loc) 1.19 kB
import { Logger } from '@btc-vision/logger'; import { ThreaderOptions, WorkerScript } from './interfaces/IThread.js'; export declare abstract class BaseThreader<TOp extends string, TData, TResult> extends Logger { readonly logColor: string; protected abstract readonly workerScript: WorkerScript; private workers; private available; private pending; private queue; private idCounter; private readonly poolSize; private initialized; private initializing; private tasksProcessed; private tasksFailed; private lastStatsLog; private readonly statsInterval; private cleanupBound; protected constructor(options?: ThreaderOptions); get stats(): { pending: number; queued: number; available: number; total: number; processed: number; failed: number; }; terminate(): Promise<void>; drain(): Promise<void>; protected runWithTransfer(op: TOp, data: TData, transferables: ArrayBuffer[]): Promise<TResult>; protected run(op: TOp, data: TData): Promise<TResult>; private bindCleanupHandlers; private init; private logStatsIfNeeded; private processQueue; }