/** * Simple WebSocket Message Processor * * Fixes the root cause of P2P stability issues by adding proper message validation, * rate limiting, and structure checks to prevent infinite loops and parsing errors. */ import { Logger, ILogObj } from "tslog"; /** * Configuration for message processor */ export interface MessageProcessorConfig { maxMessageSize?: number; maxMessagesPerSecond?: number; rateLimitWindowMs?: number; } /** * Simple message processor that fixes WebSocket parsing issues */ export declare class WebSocketMessageProcessor { private rateLimiter; private logger?; private processedMessages; private invalidMessages; private rateLimitedMessages; private maxMessageSize; constructor(logger?: Logger, config?: MessageProcessorConfig); /** * Process a raw WebSocket message with validation and rate limiting */ processMessage(data: any): { valid: boolean; message?: any; error?: string; }; /** * Validate basic message structure */ private validateMessageStructure; /** * Get processing statistics */ getStats(): { processedMessages: number; invalidMessages: number; rateLimitedMessages: number; rateLimiter: { messageCount: number; windowStart: number; maxMessages: number; windowMs: number; }; }; /** * Reset statistics */ resetStats(): void; } //# sourceMappingURL=websocket-message-processor.d.ts.map