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 { class FilterSDK extends BaseProtocolSDK implements IFilterSDK {
public readonly protocol: FilterCore; public readonly protocol: FilterCore;
private activeSubscriptions = new Map<string, SubscriptionManager>();
public constructor( public constructor(
connectionManager: ConnectionManager, connectionManager: ConnectionManager,
libp2p: Libp2p, libp2p: Libp2p,
@ -45,7 +43,8 @@ class FilterSDK extends BaseProtocolSDK implements IFilterSDK {
super( super(
new FilterCore( new FilterCore(
async (pubsubTopic, wakuMessage, peerIdStr) => { async (pubsubTopic, wakuMessage, peerIdStr) => {
const subscription = this.getActiveSubscription(pubsubTopic); const subscription =
SubscriptionManager.getActiveSubscription(pubsubTopic);
if (!subscription) { if (!subscription) {
log.error( log.error(
`No subscription locally registered for topic ${pubsubTopic}` `No subscription locally registered for topic ${pubsubTopic}`
@ -63,23 +62,6 @@ class FilterSDK extends BaseProtocolSDK implements IFilterSDK {
); );
this.protocol = this.core as FilterCore; 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 = const subscription =
this.getActiveSubscription(pubsubTopic) ?? SubscriptionManager.getActiveSubscription(pubsubTopic) ??
this.setActiveSubscription( SubscriptionManager.setActiveSubscription(
pubsubTopic, pubsubTopic,
new SubscriptionManager( new SubscriptionManager(
pubsubTopic, pubsubTopic,

View File

@ -54,6 +54,22 @@ export class SubscriptionManager implements ISubscriptionSDK {
SubscriptionCallback<IDecodedMessage> 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( public constructor(
private readonly pubsubTopic: PubsubTopic, private readonly pubsubTopic: PubsubTopic,
private protocol: FilterCore, private protocol: FilterCore,