diff --git a/src/core/packet/client/baseClient.ts b/src/core/packet/client/baseClient.ts deleted file mode 100644 index fd3c00f8..00000000 --- a/src/core/packet/client/baseClient.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { OidbPacket, PacketBuf } from '@/core/packet/transformer/base'; -import { LogStack } from '@/core/packet/context/clientContext'; -import { NapCoreContext } from '@/core/packet/context/napCoreContext'; -import { PacketLogger } from '@/core/packet/context/loggerContext'; -import { CancelableTask } from '@/common/cancel-task'; - -export interface RecvPacket { - type: string, // 仅recv - data: RecvPacketData -} - -export interface RecvPacketData { - seq: number - cmd: string - data: Buffer -} - - -export class PacketClient { - protected readonly napcore: NapCoreContext; - protected readonly logger: PacketLogger; - protected readonly cb = new Map Promise | any>(); // hash-type callback - logStack: LogStack; - available: boolean = false; - - constructor(napCore: NapCoreContext, logger: PacketLogger, logStack: LogStack) { - this.napcore = napCore; - this.logger = logger; - this.logStack = logStack; - } - - check(): boolean { - return true; - } - - init(_pid: number, _recv: string, _send: string): Promise { - return Promise.resolve(); - } - - async sendPacket(cmd: string, data: PacketBuf, rsp = false, timeout = 5000): Promise { - if (!rsp) { - this.napcore.sendSsoCmdReqByContend(cmd, data).catch(err => { - this.logger.error(`[PacketClient] sendPacket 无响应命令发送失败 cmd=${cmd} err=${err}`); - }); - return { seq: 0, cmd: cmd, data: Buffer.alloc(0) }; - } - - const task = new CancelableTask((resolve, reject, onCancel) => { - const timeoutId = setTimeout(() => { - reject(new Error(`[PacketClient] sendPacket 超时 cmd=${cmd} timeout=${timeout}ms`)); - }, timeout); - - onCancel(() => { - clearTimeout(timeoutId); - }); - - this.napcore.sendSsoCmdReqByContend(cmd, data) - .then(ret => { - clearTimeout(timeoutId); - const result = ret as { rspbuffer: Buffer }; - resolve({ - seq: 0, - cmd: cmd, - data: result.rspbuffer - }); - }) - .catch(err => { - clearTimeout(timeoutId); - reject(err); - }); - }); - - return await task; - } - - async sendOidbPacket(pkt: OidbPacket, rsp = false, timeout = 5000): Promise { - return await this.sendPacket(pkt.cmd, pkt.data, rsp, timeout); - } -}