package core_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Implements a basic token-bucket-based rate limiter. Users of the throttle must successfully call try_take before doing work.

type t = private limiter
val sexp_of_t : t -> Sexplib0.Sexp.t
val create_exn : now:Core.Time_ns.t -> burst_size:int -> sustained_rate_per_sec:float -> ?initial_bucket_level:int -> unit -> t
  • parameter initial_bucket_level

    defaults to zero.

val try_take : t -> now:Core.Time_ns.t -> int -> Try_take_result.t
module Starts_full : sig ... end