///
import EventEmitter from "eventemitter3";
import ISocket from "./isocket";
import { SocketType, StreamEvent } from "./types";
import { WebSocket } from "../adapter";
/**
* 封装最终对外使用的简易类
*/
export default class WSocket extends EventEmitter implements ISocket {
readonly socket: WebSocket;
readonly headers: {
[key: string]: any;
};
private readonly _id;
type: SocketType;
private _sessionId;
private urlInfo;
private _destroyed;
private pidConnectTimeout;
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 isOpen(): boolean;
get readyState(): "open" | "opening" | "closed";
isPaused(): boolean;
get readableLength(): number;
get writableLength(): number;
constructor(socket: WebSocket, headers: {
[key: string]: any;
});
private readonly events;
private initEvent;
read(ttl?: number): Promise;
write(chunk: string | Buffer): boolean;
end(chunk?: string | Buffer): void;
pipe(socket: ISocket): ISocket;
pause(): void;
resume(): void;
destroy(err?: Error | undefined): void;
close(err?: Error): void;
private clear;
setKeepAlive(enable: boolean, initialDelay: number): void;
}