/// /// import { net } from "../adapter"; import AigoSocket from "./helpers/aigo/aigo.socket"; import IOSocket from "./io.socket"; import PeerSocket from "./peer/peer.socket"; import WSocket from "./wsocket"; export type AcceptSocket = net.Socket | PeerSocket | WSocket | IOSocket | AigoSocket; export { PeerOptions } from "./peer/types"; export type ReadyState = "opening" | "open" | "readOnly" | "writeOnly" | "closed"; export declare enum CMD { /** 心跳检测 */ HEARTBEAT = 0, /** 连接关闭指令 */ CLOSE = 1, /** turn打洞服务 */ TURN = 4, /** 连接已经打开指令 */ OPEN = 5, /** 连接目标主机指令 */ CONNECT = 6, ERROR = 7, TIMEOUT = 8, /** 数据流 */ DATA = 9 } export type SocketType = "accept" | "connect"; export type ReadData = { size: number; session: string; host: string; port: number; }; export type WriteData = { size: number; session: string; host: string; port: number; }; export type StreamTransport = { in: (data: ReadData) => void; out: (data: WriteData) => void; }; export interface StreamEvent { data: (chunk: Buffer) => void; /** 关闭事件 * @param real: 是否真实关闭 * */ close: () => void; error: (error: Error) => void; timeout: () => void; connect: () => void; }