From f546ccef88a7c29ce5a211e19a94763ac733e47b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 15 Feb 2024 13:21:38 +0200 Subject: [PATCH] Prevent reconnect loops with short delay --- messagix/client.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/messagix/client.go b/messagix/client.go index 4f5ee77..160f26e 100644 --- a/messagix/client.go +++ b/messagix/client.go @@ -262,6 +262,7 @@ func (c *Client) Connect() error { go func() { reconnectIn := 2 * time.Second for { + connectStart := time.Now() err := c.socket.Connect() if ctx.Err() != nil { return @@ -271,7 +272,7 @@ func (c *Client) Connect() error { return } c.eventHandler(&Event_SocketError{Err: err}) - if errors.Is(err, ErrInReadLoop) { + if time.Since(connectStart) > 2*time.Minute { reconnectIn = 2 * time.Second } else { reconnectIn *= 2