From a0cb2eecae122b6eb8486fc532271822f2236166 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 17 Dec 2023 19:15:27 -0300 Subject: [PATCH] get rid of RelayTrackingPool, merge it into SimplePool. --- pool.ts | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/pool.ts b/pool.ts index fa66f62..e37b6e5 100644 --- a/pool.ts +++ b/pool.ts @@ -11,6 +11,8 @@ export type SubscribeManyParams = Omit & { export class SimplePool { private relays = new Map() + public seenOn = new Map>() + public trackRelays: boolean = false async ensureRelay(url: string): Promise { url = normalizeURL(url) @@ -29,6 +31,17 @@ export class SimplePool { filters: Filter[], params: SubscribeManyParams, ): Promise<{ close: () => void }> { + if (this.trackRelays) { + params.receivedEvent = (relay: Relay, id: string) => { + let set = this.seenOn.get(id) + if (!set) { + set = new Set() + this.seenOn.set(id, set) + } + set.add(relay) + } + } + const _knownIds = new Set() params.alreadyHaveEvent = (id: string) => { if (params.alreadyHaveEvent?.(id)) { @@ -148,20 +161,3 @@ export class SimplePool { }) } } - -export class RelayTrackingPool extends SimplePool { - public seenOn = new Map>() - - subscribeMany(relays: string[], filters: Filter[], params: SubscribeManyParams): Promise<{ close: () => void }> { - params.receivedEvent = (relay: Relay, id: string) => { - let set = this.seenOn.get(id) - if (!set) { - set = new Set() - this.seenOn.set(id, set) - } - set.add(relay) - } - - return super.subscribeMany(relays, filters, params) - } -}