chore: move get/set subscriptions to SubscriptionManager

This commit is contained in:
danisharora099 2024-07-29 16:12:44 +05:30
parent 634cdbebc4
commit 15b2e1a604
No known key found for this signature in database
GPG Key ID: FBD2BF500037F135
2 changed files with 20 additions and 22 deletions

View File

@ -35,8 +35,6 @@ const log = new Logger("sdk:filter");
class FilterSDK extends BaseProtocolSDK implements IFilterSDK {
public readonly protocol: FilterCore;
private activeSubscriptions = new Map<string, SubscriptionManager>();
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,

View File

@ -54,6 +54,22 @@ export class SubscriptionManager implements ISubscriptionSDK {
SubscriptionCallback<IDecodedMessage>
>;
private static activeSubscriptions = new Map<string, SubscriptionManager>();
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,