about summary refs log tree commit diff
path: root/pkg/discord/gateway/heartbeat.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-04-08 16:17:52 +0200
committerMel <einebeere@gmail.com>2022-04-08 16:17:52 +0200
commitdd46b6014e0f8b38b32328798616f5247dfd6845 (patch)
tree54f2c2afeb633ea0fc000626d9a6110412963c90 /pkg/discord/gateway/heartbeat.go
parenta3d3e64ff43d4636c5e67f4a9ac80f36ea1aac87 (diff)
downloadjinx-dd46b6014e0f8b38b32328798616f5247dfd6845.tar.zst
jinx-dd46b6014e0f8b38b32328798616f5247dfd6845.zip
Tests for heartbeat
Diffstat (limited to 'pkg/discord/gateway/heartbeat.go')
-rw-r--r--pkg/discord/gateway/heartbeat.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/pkg/discord/gateway/heartbeat.go b/pkg/discord/gateway/heartbeat.go
index a8f793d..1df753a 100644
--- a/pkg/discord/gateway/heartbeat.go
+++ b/pkg/discord/gateway/heartbeat.go
@@ -50,7 +50,13 @@ func (h *HeartbeatImpl) heartbeatRoutine(interval time.Duration) {
 
 	// REF: heartbeat_interval * jitter
 	jitter := rand.Intn(int(interval))
-	time.Sleep(time.Duration(jitter))
+
+	select {
+	case <-time.After(time.Duration(jitter)):
+	case <-h.ctx.Done():
+		h.logger.Debug().Msg("heartbeat routine stopped before jitter heartbeat")
+		return
+	}
 
 	ticker := time.NewTicker(interval)
 	defer ticker.Stop()