/// /// import EventEmitter from "eventemitter3"; import ISocket from "./isocket"; import AigoSocket from "./helpers/aigo/aigo.socket"; import { ReadyState, SocketType, StreamEvent } from "./types"; import { net } from "../adapter"; import WSocket from "./wsocket"; import { PeerDataSocket } from "./peer"; type AcceptSocket = net.Socket | WSocket | PeerDataSocket | AigoSocket | IOSocket; /** * 封装最终对外使用的简易类ss */ export default class IOSocket extends EventEmitter implements ISocket { readonly socket: AcceptSocket; readonly options?: { sessionId?: string | undefined; events?: { data?: ((chunk: Buffer) => void) | undefined; close?: (() => void) | undefined; error?: ((error: Error) => void) | undefined; timeout?: (() => void) | undefined; connect?: (() => void) | undefined; } | undefined; } | undefined; private readonly _id; private _sessionId; private _destroyed; type: SocketType; get id(): string; get sessionId(): string; get writable(): boolean; get readable(): boolean; get remoteAddress(): string; get remotePort(): number; get localAddress(): string; get localPort(): number; get destroyed(): boolean; get readyState(): ReadyState; get readableLength(): number; get writableLength(): number; private readonly __events; constructor(socket: AcceptSocket, options?: { sessionId?: string | undefined; events?: { data?: ((chunk: Buffer) => void) | undefined; close?: (() => void) | undefined; error?: ((error: Error) => void) | undefined; timeout?: (() => void) | undefined; connect?: (() => void) | undefined; } | undefined; } | undefined); isPaused(): boolean; /** * data 事件中, 对获取的数据做处理并返回 * @param data * @returns */ protected onDataHandle(data: Buffer): Buffer; private __initEvent; read(ttl?: number): Promise; write(chunk: string | Buffer): any; end(chunk?: string | Buffer): void; pipe(socket: ISocket): ISocket; pause(): void; resume(): void; destroy(err?: Error): void; close(err?: Error): void; clear(): void; setKeepAlive(enable: boolean, initialDelay: number): void; } export {};