import { Nullable } from '../common-types'; import { Packet } from './packet'; import { PacketDataModel } from './packet-model'; /** * pushPacket: when return false, packet vanishes, when true, get transferred * popPacket: will get called when isClear is false until tap is "cleared" * flush: should drop all internal state * @see SocketBase#handleWithTap_ */ export interface SocketTap { pushPacket(p: Packet): boolean; popPacket(): Nullable; isClear(): boolean; flush(): any; } export declare class SocketTapDefault implements SocketTap { pushPacket(p: Packet): boolean; popPacket(): Nullable; isClear(): boolean; flush(): void; } export declare class SocketTapPacketCapture extends SocketTapDefault { readonly dataList: PacketDataModel[]; pushPacket(p: Packet): boolean; isClear(): boolean; flush(): void; }