From 15b2e1a604111dcac5e5462c23affb2decf5072f Mon Sep 17 00:00:00 2001 From: danisharora099 Date: Mon, 29 Jul 2024 16:12:44 +0530 Subject: [PATCH] chore: move get/set subscriptions to SubscriptionManager --- packages/sdk/src/protocols/filter/index.ts | 26 +++---------------- .../protocols/filter/subscription_manager.ts | 16 ++++++++++++ 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/packages/sdk/src/protocols/filter/index.ts b/packages/sdk/src/protocols/filter/index.ts index c52a50197a..72a38442d7 100644 --- a/packages/sdk/src/protocols/filter/index.ts +++ b/packages/sdk/src/protocols/filter/index.ts @@ -35,8 +35,6 @@ const log = new Logger("sdk:filter"); class FilterSDK extends BaseProtocolSDK implements IFilterSDK { public readonly protocol: FilterCore; - private activeSubscriptions = new Map(); - public constructor( connectionManager: ConnectionManager, libp2p: Libp2p, @@ -45,7 +43,8 @@ class FilterSDK extends BaseProtocolSDK implements IFilterSDK { super( new FilterCore( async (pubsubTopic, wakuMessage, peerIdStr) => { - const subscription = this.getActiveSubscription(pubsubTopic); + const subscription = + SubscriptionManager.getActiveSubscription(pubsubTopic); if (!subscription) { log.error( `No subscription locally registered for topic ${pubsubTopic}` @@ -63,23 +62,6 @@ class FilterSDK extends BaseProtocolSDK implements IFilterSDK { ); this.protocol = this.core as FilterCore; - - this.activeSubscriptions = new Map(); - } - - //TODO: move to SubscriptionManager - private getActiveSubscription( - pubsubTopic: PubsubTopic - ): SubscriptionManager | undefined { - return this.activeSubscriptions.get(pubsubTopic); - } - - private setActiveSubscription( - pubsubTopic: PubsubTopic, - subscription: SubscriptionManager - ): SubscriptionManager { - this.activeSubscriptions.set(pubsubTopic, subscription); - return subscription; } /** @@ -118,8 +100,8 @@ class FilterSDK extends BaseProtocolSDK implements IFilterSDK { ); const subscription = - this.getActiveSubscription(pubsubTopic) ?? - this.setActiveSubscription( + SubscriptionManager.getActiveSubscription(pubsubTopic) ?? + SubscriptionManager.setActiveSubscription( pubsubTopic, new SubscriptionManager( pubsubTopic, diff --git a/packages/sdk/src/protocols/filter/subscription_manager.ts b/packages/sdk/src/protocols/filter/subscription_manager.ts index 1f79c22142..9951285c05 100644 --- a/packages/sdk/src/protocols/filter/subscription_manager.ts +++ b/packages/sdk/src/protocols/filter/subscription_manager.ts @@ -54,6 +54,22 @@ export class SubscriptionManager implements ISubscriptionSDK { SubscriptionCallback >; + private static activeSubscriptions = new Map(); + + public static getActiveSubscription( + pubsubTopic: PubsubTopic + ): SubscriptionManager | undefined { + return this.activeSubscriptions.get(pubsubTopic); + } + + public static setActiveSubscription( + pubsubTopic: PubsubTopic, + subscription: SubscriptionManager + ): SubscriptionManager { + this.activeSubscriptions.set(pubsubTopic, subscription); + return subscription; + } + public constructor( private readonly pubsubTopic: PubsubTopic, private protocol: FilterCore,