UNPKG

@cornerstonejs/core

Version:
43 lines (42 loc) 1.51 kB
import RequestType from '../enums/RequestType.js'; import type { IImage } from '../types/index.js'; interface AdditionalDetails { imageId?: string; volumeId?: string; } interface RequestDetailsInterface { requestFn: () => Promise<IImage | void>; type: RequestType; additionalDetails: AdditionalDetails; } type RequestPool = { [name in RequestType]: Record<number, RequestDetailsInterface[]>; }; declare class RequestPoolManager { private id; private awake; private requestPool; private numRequests; maxNumRequests: { [RequestType.Interaction]: number; [RequestType.Thumbnail]: number; [RequestType.Prefetch]: number; [RequestType.Compute]: number; }; grabDelay: number; private timeoutHandle; constructor(id?: string); setMaxSimultaneousRequests(type: RequestType, maxNumRequests: number): void; getMaxSimultaneousRequests(type: RequestType): number; destroy(): void; addRequest(requestFn: () => Promise<IImage | void>, type: RequestType, additionalDetails: Record<string, unknown>, priority?: number): void; filterRequests(filterFunction: (requestDetails: RequestDetailsInterface) => boolean): void; clearRequestStack(type: string): void; private sendRequests; private getNextRequest; protected startGrabbing(): void; protected startAgain(): void; protected getSortedPriorityGroups(type: string): number[]; getRequestPool(): RequestPool; } export { RequestPoolManager };