UNPKG

@waku/sdk

Version:

A unified SDK for easy creation and management of js-waku nodes.

29 lines (28 loc) 919 B
import type { PeerId } from "@libp2p/interface"; import { type CoreProtocolResult, type IRoutingInfo } from "@waku/interfaces"; import type { PeerManager } from "../peer_manager/index.js"; type RetryManagerConfig = { retryIntervalMs: number; peerManager: PeerManager; }; type AttemptCallback = (peerId: PeerId) => Promise<CoreProtocolResult>; export type ScheduledTask = { maxAttempts: number; routingInfo: IRoutingInfo; callback: AttemptCallback; }; export declare class RetryManager { private intervalID; private readonly retryIntervalMs; private inProgress; private readonly queue; private readonly peerManager; constructor(config: RetryManagerConfig); start(): void; stop(): void; push(callback: AttemptCallback, maxAttempts: number, routingInfo: IRoutingInfo): void; private processQueue; private scheduleTask; private taskExecutor; } export {};