From edefc57b287871b3c1dcbe2fad403ef5cd628a92 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Tue, 3 Oct 2023 15:43:18 -0300 Subject: [PATCH] clear context differentiation on submany/unique. --- pool.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pool.go b/pool.go index f6bd1ae..627d85d 100644 --- a/pool.go +++ b/pool.go @@ -86,17 +86,17 @@ func (pool *SimplePool) subMany(ctx context.Context, urls []string, filters Filt } for evt := range sub.Events { - stop := false if unique { - _, stop = seenAlready.LoadOrStore(evt.ID, true) - } - if !stop { - select { - case events <- IncomingEvent{Event: evt, Relay: relay}: - case <-ctx.Done(): - return + if _, seen := seenAlready.LoadOrStore(evt.ID, true); seen { + continue } } + + select { + case events <- IncomingEvent{Event: evt, Relay: relay}: + case <-ctx.Done(): + return + } } pending.Dec() @@ -160,17 +160,17 @@ func (pool *SimplePool) subManyEose(ctx context.Context, urls []string, filters return } - stop := false if unique { - _, stop = seenAlready.LoadOrStore(evt.ID, true) - } - if !stop { - select { - case events <- IncomingEvent{Event: evt, Relay: relay}: - case <-ctx.Done(): - return + if _, seen := seenAlready.LoadOrStore(evt.ID, true); seen { + continue } } + + select { + case events <- IncomingEvent{Event: evt, Relay: relay}: + case <-ctx.Done(): + return + } } } }(NormalizeURL(url))