UNPKG

fleeta-api-lib

Version:

A comprehensive library for fleet management applications - API, Auth, Device management

54 lines 1.54 kB
/** * GPS WebSocket Request Manager * Handles request/response matching and Promise-based API */ import type { ActionKey, ActionRequestMap, ActionResponseMap, WsMessage } from './types'; /** * Request Manager class * Separated request/response logic for better organization and testability */ export declare class RequestManager { private pendingRequests; private defaultTimeout; private sendFunction; constructor(defaultTimeout?: number); /** * Set send function for WebSocket communication */ setSendFunction(sendFn: (data: string) => void): void; /** * Send request and return Promise */ send<K extends ActionKey>(action: K, payload: Omit<ActionRequestMap[K], "action" | "sequenceId"> & { sequenceId?: number; }, timeoutMs?: number): Promise<ActionResponseMap[K]>; /** * Handle incoming WebSocket message */ handleMessage(message: WsMessage<any>): boolean; /** * Cancel specific request */ cancelRequest(sequenceId: number): boolean; /** * Cancel all pending requests */ cancelAllRequests(): void; /** * Get number of pending requests */ getPendingCount(): number; /** * Get pending request IDs */ getPendingRequestIds(): number[]; /** * Clean up expired requests (for maintenance) */ cleanupExpiredRequests(maxAge?: number): number; /** * Destroy request manager and cleanup */ destroy(): void; } //# sourceMappingURL=RequestManager.d.ts.map