UNPKG

netkitty

Version:
112 lines 3.72 kB
import EventEmitter from 'events'; import { FileHandle } from 'node:fs/promises'; import { ReadStream, WriteStream } from 'node:fs'; import DuplexPair from 'duplexpair'; import { PcapParser } from './PcapParser'; import { IPcapPacketInfo } from './interfaces/IPcapPacketInfo'; export interface IPcapReaderOptions { filename: string; watch?: boolean; chunkSize?: number; onPacket?: (pcapPacketInfo: IPcapPacketInfo) => Promise<void> | void; onStart?: () => Promise<void> | void; onStop?: () => Promise<void> | void; onDone?: () => Promise<void> | void; onError?: (err: Error) => void; } export declare class PcapReader extends EventEmitter { protected readonly filename: string; protected readonly watch: boolean; protected readonly chunkSize: number; protected duplexPair: DuplexPair; protected parser: PcapParser; protected index: number; protected offset: number; protected readDone: boolean; protected readBufferFileHandle: FileHandle | null; protected onPacket?: (pcapPacketInfo: IPcapPacketInfo) => Promise<void> | void; protected onStart?: () => Promise<void> | void; protected onStop?: () => Promise<void> | void; protected onDone?: () => Promise<void> | void; protected onError?: (err: Error) => void; protected paused: boolean; protected get readStream(): ReadStream; protected get writeStream(): WriteStream; constructor(options: IPcapReaderOptions); /** * Pause read * @protected */ protected pauseRead(): void; /** * Resume read * @protected */ protected resumeRead(): void; /** * Initialize reader * @protected */ protected initReader(): void; /** * Reset reader * @protected */ protected reset(): Promise<void>; /** * Initialize read packet file handle * @protected */ protected initReadPacketFileHandle(): Promise<FileHandle>; /** * Initialize read buffer file handle * @protected */ protected initReadBufferFileHandle(): Promise<FileHandle>; /** * Read file buffer * @protected */ protected readBuffer(): Promise<boolean>; /** * Read file continually * @protected */ protected continualRead(): void; /** * Read the file straight * @protected */ protected straightRead(): void; /** * Read packet data by record's offset and record's length * @param offset * @param length */ readPacket(offset: number, length: number): Promise<Buffer>; /** * Start reading pcap */ start(): Promise<void>; /** * Stop reading pcap */ stop(): Promise<void>; /** * Close pcap reader */ close(): Promise<void>; on(eventName: 'packet', listener: (pcapPacketInfo: IPcapPacketInfo) => void): this; on(eventName: 'done', listener: (...args: any[]) => void): this; on(eventName: 'start', listener: (...args: any[]) => void): this; on(eventName: 'stop', listener: (...args: any[]) => void): this; on(eventName: 'close', listener: (...args: any[]) => void): this; on(eventName: 'error', listener: (error: Error) => void): this; once(eventName: 'packet', listener: (pcapPacketInfo: IPcapPacketInfo) => void): this; once(eventName: 'done', listener: (...args: any[]) => void): this; once(eventName: 'start', listener: (...args: any[]) => void): this; once(eventName: 'stop', listener: (...args: any[]) => void): this; once(eventName: 'close', listener: (...args: any[]) => void): this; once(eventName: 'error', listener: (error: Error) => void): this; } //# sourceMappingURL=PcapReader.d.ts.map