github.com/anacrolix/torrent@v1.61.0/tracker/udp/timeout.go (about) 1 package udp 2 3 import ( 4 "time" 5 ) 6 7 const maxTimeout = 3840 * time.Second 8 9 func timeout(contiguousTimeouts int) (d time.Duration) { 10 if contiguousTimeouts > 8 { 11 contiguousTimeouts = 8 12 } 13 d = 15 * time.Second 14 for ; contiguousTimeouts > 0; contiguousTimeouts-- { 15 d *= 2 16 } 17 return 18 }