UNPKG

qnce-engine

Version:

Core QNCE (Quantum Narrative Convergence Engine) - Framework agnostic narrative engine with performance optimization

107 lines 3.06 kB
export interface QnceJob { id: string; type: 'cache-load' | 'telemetry-write' | 'hot-reload-prep' | 'asset-process'; priority: 'low' | 'normal' | 'high'; payload: unknown; timestamp: number; resolve: (result: unknown) => void; reject: (error: Error) => void; } export interface ThreadPoolConfig { maxWorkers: number; queueLimit: number; idleTimeout: number; enableProfiling: boolean; } export interface ThreadPoolStats { activeWorkers: number; queuedJobs: number; completedJobs: number; failedJobs: number; avgExecutionTime: number; workerUtilization: number; } /** * QnceThreadPool - Background job processing for QNCE engine * Handles cache operations, telemetry, and other non-blocking tasks */ export declare class QnceThreadPool { private workers; private jobQueue; private activeJobs; private config; private stats; private isShuttingDown; constructor(config?: Partial<ThreadPoolConfig>); /** * Submit job for background processing */ submitJob<T = unknown>(type: QnceJob['type'], payload: unknown, priority?: QnceJob['priority']): Promise<T>; /** * Cache load operation (S2-T2 primary use case) */ loadFromCache(cacheKey: string, loader: () => Promise<unknown>): Promise<unknown>; /** * Telemetry write operation (S2-T2 primary use case) */ writeTelemetry(eventData: unknown): Promise<void>; /** * Hot-reload preparation (integration with S2-T3) */ prepareHotReload(deltaData: unknown): Promise<unknown>; /** * Get current thread pool statistics */ getStats(): ThreadPoolStats; /** * Graceful shutdown of thread pool */ shutdown(timeoutMs?: number): Promise<void>; /** * Initialize worker threads based on environment */ private initializeWorkers; /** * Web Workers for browser environment */ private initializeWebWorkers; /** * Node.js worker_threads (placeholder - would need actual implementation) */ private initializeNodeWorkers; /** * Fallback simulation for testing/development */ private initializeFallbackWorkers; /** * Generate Web Worker code for browser execution */ private generateWebWorkerCode; /** * Setup worker message handlers */ private setupWorkerHandlers; /** * Handle worker completion messages */ private handleWorkerMessage; /** * Handle worker errors */ private handleWorkerError; /** * Process job queue by assigning jobs to available workers */ private processQueue; /** * Find insertion index for job based on priority */ private findInsertionIndex; /** * Update execution time statistics */ private updateExecutionTimeStats; } export declare function getThreadPool(config?: Partial<ThreadPoolConfig>): QnceThreadPool; export declare function shutdownThreadPool(): Promise<void>; //# sourceMappingURL=ThreadPool.d.ts.map