@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
67 lines (66 loc) • 1.51 kB
TypeScript
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;
}