jitter.go 383 B

12345678910111213141516171819
  1. // Copyright (c) Tailscale Inc & AUTHORS
  2. // SPDX-License-Identifier: BSD-3-Clause
  3. package tstime
  4. import (
  5. "math/rand/v2"
  6. "time"
  7. )
  8. // RandomDurationBetween returns a random duration in range [min,max).
  9. // If panics if max < min.
  10. func RandomDurationBetween(min, max time.Duration) time.Duration {
  11. diff := max - min
  12. if diff == 0 {
  13. return min
  14. }
  15. return min + rand.N(max-min)
  16. }