module Token_bucket:sig..end
try_take before doing work.typet = privateLimiter.limiter
val create_exn : now:Time.t ->
burst_size:float ->
sustained_rate_per_sec:float ->
?initial_bucket_level:float -> unit -> t
val try_take : t ->
now:Time.t ->
float -> [ `Asked_for_more_than_bucket_size | `Taken | `Unable ]