UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

67 lines (66 loc) 1.51 kB
import { HeartbeatOptions, SocketMessage } from "./types"; /** * Socket心跳管理器 * 处理WebSocket连接的心跳检测 */ export declare class HeartbeatManager { private options; private intervalTimer; private timeoutTimer; private lastHeartbeatTime; private lastHeartbeatResponse; private active; private sendHeartbeat; private onTimeout; private onResponse; /** * 创建心跳管理器 * @param options 心跳配置选项 * @param sendHeartbeat 发送心跳的回调函数 * @param callbacks 回调函数集合 */ constructor(options: HeartbeatOptions, sendHeartbeat: (msg: SocketMessage) => void, callbacks?: { onTimeout?: () => void; onResponse?: () => void; }); /** * 启动心跳检测 */ start(): void; /** * 停止心跳检测 */ stop(): void; /** * 重启心跳检测 */ restart(): void; /** * 接收到心跳响应 */ receiveHeartbeatResponse(): void; /** * 获取上次心跳时间 */ getLastHeartbeatTime(): number; /** * 获取上次心跳响应时间 */ getLastHeartbeatResponseTime(): number; /** * 获取心跳是否活跃 */ isActive(): boolean; /** * 安排下一次心跳 */ private scheduleHeartbeat; /** * 发送心跳消息 */ private sendHeartbeatMessage; /** * 清除所有计时器 */ private clearTimers; }