UNPKG

axiodb

Version:

The Pure JavaScript Alternative to SQLite. Embedded NoSQL database for Node.js with MongoDB-style queries, zero native dependencies, built-in InMemoryCache, and web GUI. Perfect for desktop apps, CLI tools, and embedded systems. No compilation, no platfor

57 lines (56 loc) 1.68 kB
import { TCPRequest, TCPResponse } from '../types/protocol.types'; import { CommandType } from '../types/command.types'; /** * Message Framing - Handles encoding/decoding of TCP messages * Protocol: [4-byte length (uint32 BE)][JSON payload] */ export declare class MessageFramer { /** * Encode message to binary format: [length][JSON] */ static encode(message: TCPRequest | TCPResponse): Buffer; /** * Decode buffer to message object * Note: Caller must ensure buffer has complete message */ static decode(buffer: Buffer): TCPRequest | TCPResponse; } /** * Message Buffer - Accumulates incoming data and extracts complete messages */ export declare class MessageBuffer { private buffer; /** * Add chunk to buffer and extract complete messages */ addChunk(chunk: Buffer): (TCPRequest | TCPResponse)[]; /** * Clear buffer (useful for error recovery) */ clear(): void; /** * Get current buffer size */ get size(): number; } /** * Message Validator - Validates request structure and parameters */ export declare class MessageValidator { /** * Validate TCPRequest structure */ static validateRequest(request: any): TCPRequest; /** * Validate command-specific parameters */ static validateParams(command: CommandType, params: any): void; /** * Create error response */ static createErrorResponse(requestId: string, statusCode: number, message: string, error?: string): TCPResponse; /** * Create success response */ static createSuccessResponse(requestId: string, message: string, data?: any): TCPResponse; }