UNPKG

trojanhorse-js

Version:

A comprehensive JavaScript library for fetching, managing, and analyzing global threat intelligence from multiple open-source feeds and security news sources. Unlike its mythological namesake, this Trojan protects your digital fortress.

77 lines 2.19 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { ThreatIndicator } from '../types'; export interface ProcessingConfig { maxWorkers: number; minWorkers: number; queueSize: number; taskTimeout: number; retryAttempts: number; scalingStrategy: 'fixed' | 'dynamic' | 'adaptive'; } export interface Task { id: string; type: 'threat_analysis' | 'data_processing' | 'correlation' | 'enrichment'; priority: 'low' | 'medium' | 'high' | 'critical'; data: any; createdAt: Date; timeout?: number; retries?: number; } export interface TaskResult { taskId: string; success: boolean; result?: any; error?: string; processingTime: number; workerId: string; completedAt: Date; } export interface WorkerPoolConfig { maxWorkers: number; minWorkers: number; workerScript: string; taskTimeout: number; idleTimeout: number; autoScale: boolean; } declare class WorkerPool extends EventEmitter { private config; private workers; private taskQueue; private activeTasks; private workerStats; constructor(config: WorkerPoolConfig); private initializeWorkers; private createWorker; private handleWorkerMessage; private handleTaskCompletion; private handleTaskError; private handleWorkerError; private handleWorkerExit; private removeWorker; addTask(task: Task): void; private processNextTask; private findAvailableWorker; private shouldScaleUp; private scaleUp; private assignTaskToWorker; private handleTaskTimeout; getStats(): any; shutdown(): Promise<void>; } declare class DistributedProcessor extends EventEmitter { private config; private workerPool; private taskCounter; constructor(config: ProcessingConfig); private setupEventHandlers; processThreatData(threats: ThreatIndicator[]): Promise<TaskResult[]>; processCorrelation(data: any): Promise<TaskResult>; private processTasks; private createTask; getStats(): any; shutdown(): Promise<void>; } export { DistributedProcessor, WorkerPool }; //# sourceMappingURL=DistributedProcessor.d.ts.map