UNPKG

@waku/sdk

Version:

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

45 lines (44 loc) 1.56 kB
import type { Callback, IDecodedMessage, IDecoder } from "@waku/interfaces"; import { WakuMessage } from "@waku/proto"; import { SubscriptionParams } from "./types.js"; export declare class Subscription { private readonly pubsubTopic; private readonly protocol; private readonly peerManager; private readonly config; private isStarted; private inProgress; private peers; private peerFailures; private readonly receivedMessages; private callbacks; private messageEmitter; private toSubscribeContentTopics; private toUnsubscribeContentTopics; private subscribeIntervalId; private keepAliveIntervalId; private get contentTopics(); constructor(params: SubscriptionParams); start(): void; stop(): void; isEmpty(): boolean; add<T extends IDecodedMessage>(decoder: IDecoder<T> | IDecoder<T>[], callback: Callback<T>): Promise<boolean>; remove<T extends IDecodedMessage>(decoder: IDecoder<T> | IDecoder<T>[]): Promise<boolean>; invoke(message: WakuMessage, _peerId: string): void; private addSingle; private removeSingle; private isMessageReceived; private setupSubscriptionInterval; private setupKeepAliveInterval; private setupEventListeners; private disposeIntervals; private disposeHandlers; private disposePeers; private disposeEventListeners; private onPeerConnected; private onPeerDisconnected; private attemptSubscribe; private requestSubscribe; private attemptUnsubscribe; private requestUnsubscribe; }