UNPKG

data-channel-router

Version:
45 lines (44 loc) 1.73 kB
import { ThreadManagerEvents } from "../enums/ThreadManagerEvents"; import { IThreadManagerOptions } from "../interfaces"; import { EventEmitter } from "../utils"; import { Thread } from "./Thread"; type Events = typeof ThreadManagerEvents.STARTED | typeof ThreadManagerEvents.COMPLITED | typeof ThreadManagerEvents.BUFFERING; type OnStartedListener = (thread: Thread) => void; type OnCompletedListener = (thread: Thread) => void; type OnBufferingListener = (bufferSize: number) => void; type Listeners = OnStartedListener | OnCompletedListener | OnBufferingListener; /** * Thread manager * @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/components/ThreadManager.ts * @author Evgenii Grebennikov * @email djonnyx@gmail.com */ export declare class ThreadManager extends EventEmitter<Events, Listeners> { private _threadQueue; private _processingThreadQueue; private _maxThreads; get maxThreads(): number; private _threadsInWork; get threadsInWork(): number; private _rejectedThreads; get rejectedThreads(): number; private _complitedThreads; get complitedThreads(): number; get finishedThreads(): number; get buffering(): number; private _paused; private _onThreadStartedHandler; private _onThreadRejectedHandler; private _onThreadWaitForConnectionHandler; private _onThreadComplitedHandler; constructor(options?: IThreadManagerOptions); add(thread: Thread): void; run(): void; play(): void; pause(): void; protected startNextThreadIfNeed(): boolean; protected startThread(thread: Thread, started?: boolean): void; protected removeThread(thread: Thread): void; dispose(): void; } export {};