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  }