mirror of
https://github.com/logos-messaging/logos-messaging-js.git
synced 2026-05-22 12:40:02 +00:00
chore: move get/set subscriptions to SubscriptionManager
This commit is contained in:
parent
634cdbebc4
commit
15b2e1a604
@ -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,
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user