timeout.go 284 B

123456789101112131415161718
  1. package udp
  2. import (
  3. "time"
  4. )
  5. const maxTimeout = 3840 * time.Second
  6. func timeout(contiguousTimeouts int) (d time.Duration) {
  7. if contiguousTimeouts > 8 {
  8. contiguousTimeouts = 8
  9. }
  10. d = 15 * time.Second
  11. for ; contiguousTimeouts > 0; contiguousTimeouts-- {
  12. d *= 2
  13. }
  14. return
  15. }