func newTimeBucket()

in timebucket.go [11:24]


func newTimeBucket(endTime time.Time, bucketSize time.Duration, minDelay time.Duration) *TimeBucket {
	// Ensure the endTime is at least minDelay in the past.
	if endTime.After(time.Now().Add(-minDelay)) {
		endTime = time.Now().Add(-minDelay)
	}

	// Truncate to the size of the bucket
	endTime = endTime.Round(bucketSize)
	return &TimeBucket{
		endTime: endTime,
		size:    bucketSize,
		delay:   minDelay,
	}
}