D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
whatsapp-api
/
node_modules
/
basic-ftp
/
dist
/
Filename :
ProgressTracker.d.ts
back
Copy
import { Socket } from "net"; export type ProgressType = "upload" | "download" | "list"; /** * Describes progress of file transfer. */ export interface ProgressInfo { /** A name describing this info, e.g. the filename of the transfer. */ readonly name: string; /** The type of transfer, typically "upload" or "download". */ readonly type: ProgressType; /** Transferred bytes in current transfer. */ readonly bytes: number; /** Transferred bytes since last counter reset. Useful for tracking multiple transfers. */ readonly bytesOverall: number; } export type ProgressHandler = (info: ProgressInfo) => void; /** * Tracks progress of one socket data transfer at a time. */ export declare class ProgressTracker { bytesOverall: number; protected readonly intervalMs = 500; protected onStop: (stopWithUpdate: boolean) => void; protected onHandle: ProgressHandler; /** * Register a new handler for progress info. Use `undefined` to disable reporting. */ reportTo(onHandle?: ProgressHandler): void; /** * Start tracking transfer progress of a socket. * * @param socket The socket to observe. * @param name A name associated with this progress tracking, e.g. a filename. * @param type The type of the transfer, typically "upload" or "download". */ start(socket: Socket, name: string, type: ProgressType): void; /** * Stop tracking transfer progress. */ stop(): void; /** * Call the progress handler one more time, then stop tracking. */ updateAndStop(): void; }