ipfs-bitswap
Version:
JavaScript implementation of the Bitswap data exchange protocol used by IPFS
28 lines • 1.07 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import { Stat } from './stat.js';
import type { Libp2p, PeerId } from '@libp2p/interface';
import type { IMovingAverage } from '@vascosantos/moving-average';
export interface StatsOptions {
enabled?: boolean;
computeThrottleTimeout?: number;
computeThrottleMaxQueueSize?: number;
movingAverageIntervals?: number[];
}
export declare class Stats extends EventEmitter {
private readonly _initialCounters;
private readonly _options;
private _enabled;
private readonly _global;
private readonly _peers;
constructor(libp2p: Libp2p, initialCounters?: string[], _options?: StatsOptions);
enable(): void;
disable(): void;
stop(): void;
get snapshot(): Record<string, bigint>;
get movingAverages(): Record<string, Record<number, IMovingAverage>>;
forPeer(peerId: PeerId | string): Stat | undefined;
push(peer: string | undefined, counter: string, inc: number): void;
disconnected(peer: PeerId): void;
}
//# sourceMappingURL=index.d.ts.map