From 6c907e28407eca1ac6ef46cbe486d4c02def9a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Adamski?= Date: Tue, 8 Dec 2020 12:04:49 +0100 Subject: [PATCH] smarter interval calculation --- main.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 5ba49dd..6727667 100644 --- a/main.go +++ b/main.go @@ -58,8 +58,14 @@ func announce(c *gin.Context) { PutPeer(c.Param("room"), req.InfoHash, req.IP, req.Port, req.IsSeeding()) } peersv4, peersv6, numSeeders, numLeechers := GetPeers(c.Param("room"), req.InfoHash, req.Numwant, req.IsSeeding()) + interval := 120 + if numSeeders == 0 { + interval /= 2 + } else if numLeechers == 0 { + interval *= 2 + } resp := AnnounceResponse{ - Interval: 120, + Interval: interval, Complete: numSeeders, Incomplete: numLeechers, Peers: string(peersv4),