aboutsummaryrefslogtreecommitdiff
path: root/internal/service/time.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/service/time.go')
-rw-r--r--internal/service/time.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/service/time.go b/internal/service/time.go
index b275b82..117b868 100644
--- a/internal/service/time.go
+++ b/internal/service/time.go
@@ -53,7 +53,15 @@ func (s *Duration) UnmarshalText(text []byte) error {
return nil
}
+// Randomly generate a duration between from and until.
+//
+// Returns from if its greater than until.
func RandomDuration(from Duration, until Duration) Duration {
+ if from.Duration >= until.Duration {
+ return from
+ }
+
period := until.Duration - from.Duration
return Duration{from.Duration + time.Duration(rand.Intn(int(period)))}
+
}