/************************************************************************ * Copyright (c) 2023 sunking framework * Author : Shao * Mail : yi-shaoye@163.com * Date : 2021-10-28 * Use : 常量定义 ************************************************************************/ /** * 服务器状态 */ export enum ServerStatus { Initial = 'Initial', Opening = 'OPENING', Opened = 'OPENED', Closing = 'CLOSING', Closed = 'CLOSED', Reconnecting = 'RECONNECTING', } /** * 传输模块状态 */ export enum enTransportStates { /** * 正在连接服务器 */ Connecting = 0, /** * 正在开启传输 */ Opening = 1, /** * 传输开启, 可以收发消息 */ Open = 2, /** * 传输关闭 */ Closed = 3 } /** * 客户端状态 */ export enum SocketStatus { /** * 头状态 */ ST_HEAD = 1, /** * 联通状态 */ ST_BODY = 2, /** * 关闭状态 */ ST_CLOSED = 3, } /** * 消息类型 */ export const enum MsgType { /** * 消息 */ msg = 1, /** * 握手 */ handshake = 2, /** * 心跳 */ heartbeat = 3, /** * RPC 请求 */ rpcReq = 4, /** * RPC 响应 */ rpcRes = 5 } /** * 服务器配置 */ export interface ConnectorOptions { /** * 服务器名字 */ name: string; /** * 服务器描述 */ des: string; /** * 服务器IP */ host: string; /** * 监听端口 */ port: number; /** * 服务器类型 */ type: string; /** * 服务器密钥路径 */ key: string; /** * 服务器证书路径 */ cert: string; /** * 连接上限 */ maxConnectionNum?: number; /** * 心跳 */ heartbeat?: number; /** * 路由配置 */ routeConfig: string; /** * 路由前缀 默认 / */ prefix: string; /** * 通讯方式 默认 all */ method: string; /** * 客户端连接成功 */ clientMgr: string; /** * 通讯数据预处理 */ verifyMsg: string; /** * 消息过滤 */ protoFilter: string; /** * 路由中间件 */ middleware: string; /** * 后处理 */ postProcessing: string; /** * 调试日志 */ debugLog: boolean; } /** * rpc 请求超时 */ export interface RpcTimeout { id: number; url: string, cb: Function; time: number; }