76
// ReserveN calls ReserveN on its list of rate limiters and returns a MultiReservation that is a list of the
77
// individual reservation objects indicating how long the caller must wait before the event can happen.
79
>
length := len(rl.rateLimiters)
80
>
reservations := make([]Reservation, 0, length)
81
>
82
>
for _, rateLimiter := range rl.rateLimiters {
83
>
reservation := rateLimiter.ReserveN(now, numToken)
84
>
if !reservation.OK() {
85
// cancel all existing reservation
86
for _, reservation := range reservations {