From 7f8fcd11dc7d73f2b477763a519a761333a6d1b4 Mon Sep 17 00:00:00 2001 From: Jack Ding Date: Thu, 22 Aug 2024 11:51:24 -0400 Subject: [PATCH] Add ResetFailCount to subscriberAPI Signed-off-by: Jack Ding --- pkg/protocol/http/http.go | 1 + v1/subscriber/subscriber.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/pkg/protocol/http/http.go b/pkg/protocol/http/http.go index cd815c3..7c9fcd8 100644 --- a/pkg/protocol/http/http.go +++ b/pkg/protocol/http/http.go @@ -587,6 +587,7 @@ func (h *Server) SendTo(wg *sync.WaitGroup, clientID uuid.UUID, clientAddress, r } log.Errorf("connection lost addressing %s", clientAddress) } else { + h.subscriberAPI.ResetFailCount(clientID) localmetrics.UpdateEventCreatedCount(resourceAddress, localmetrics.SUCCESS, 1) h.DataOut <- &channel.DataChan{ Address: resourceAddress, diff --git a/v1/subscriber/subscriber.go b/v1/subscriber/subscriber.go index 2096aa1..a2aac0c 100644 --- a/v1/subscriber/subscriber.go +++ b/v1/subscriber/subscriber.go @@ -395,6 +395,14 @@ func (p *API) IncFailCountToFail(clientID uuid.UUID) bool { return false } +// ResetFailCount ..reset fail count +func (p *API) ResetFailCount(clientID uuid.UUID) { + if subStore, ok := p.SubscriberStore.Get(clientID); ok { + subStore.ResetFailCount() + p.SubscriberStore.Set(clientID, subStore) + } +} + // FailCountThreshold .. get threshold func (p *API) FailCountThreshold() int { return subscriber.SetConnectionToFailAfter