///
import EventEmitter from "eventemitter3";
import { CMD } from "../types";
import SerialSocket from "../serial.socket";
export type Header = {
id: string;
idx: number;
total: number;
sid: string;
cmd: CMD;
};
export type DataPartInfo = {
list: {
data: Buffer;
idx: number;
total: number;
}[];
total: number;
fillTotal: number;
startTime: number;
};
export declare const help: {
isHandle(data: Buffer): boolean;
isFull(data: Buffer): boolean;
parseReq(data: Buffer): {
header: Header;
content: Buffer;
subData: Buffer;
};
};
export type EventType = {
done: (header: {
id: string;
cmd: CMD;
sid: string;
}, data: Buffer) => void;
error: (err: Error) => void;
};
export type SendData = {
cmd: CMD;
sessionId: string;
data?: Buffer | string | ArrayBuffer | object;
};
export type SendCallback = (err: Error | null, data: Buffer) => void;
/**
* 数据接收解析
*/
export declare class DataTransform extends EventEmitter {
readonly socket: SerialSocket;
private _chunkedData;
private _cacheTTL;
private historysData;
private _pCheckId;
constructor(socket: SerialSocket);
incrementMsgId(): string;
/**
* 处理 serialsocket 序列化类发送的数据封装
* @param data
*/
handleSendData(sendData: SendData, callback: SendCallback): void;
private handleSendDataFace;
/**
* 处理 serialsocket 序列化类接收到的数据解封
* @param data
*/
handleReceiveData(data: Buffer): void;
private handleReceiveDataFace;
clear(): void;
}