remove relay from pool once it's closed or disconnected.

This commit is contained in:
fiatjaf
2026-02-28 14:26:32 -03:00
parent 1df85217d9
commit 8ba05114cd
+6
View File
@@ -164,6 +164,12 @@ func (pool *Pool) EnsureRelay(url string) (*Relay, error) {
}
pool.Relays.Store(nm, relay)
go func(r *Relay, relayURL string) {
<-r.Context().Done()
if current, ok := pool.Relays.Load(relayURL); ok && current == r {
pool.Relays.Delete(relayURL)
}
}(relay, nm)
return relay, nil
}