///
import Cipher from "../core/cipher";
import { AcceptSocket } from "./types";
import IOSocket from "./io.socket";
/**
* net.socket 数据加密传输封装类, 简单封装,方便数据的传输与读取,加解密
*/
export default class SecretSocket extends IOSocket {
readonly socket: AcceptSocket;
readonly cipher: Cipher | undefined;
private readonly face;
constructor(socket: AcceptSocket, params?: {
cipher?: Cipher;
face?: number;
sessionId?: string;
});
private init;
protected onDataHandle(data: Buffer): Buffer;
encode(chunk: Buffer | string): Buffer;
decode(chunk: Buffer | string): Buffer;
read(ttl?: number): Promise;
/**
* 往网络里写数据
* @param socket 网络连接socket
* @param chunk 数据
* @param callback 写完之后回调,并告知写子多少内容, (chunkSize: number)=>{}
*/
write(chunk: Buffer | string): boolean;
end(chunk?: Buffer | string): void;
/**
* 克隆, 克隆后将清除原来对象的数据
* @param params
* @returns
*/
clone(params?: {
cipher: Cipher;
face: number;
}): SecretSocket;
}