Hcs.Plug.Rate_limit.State

hcs · API reference

type t = {
  requests : int Kcas.Loc.t;
  window_start : float Kcas.Loc.t;
  window_seconds : float;
  max_requests : int;
}
val create : max_requests:int -> window_seconds:float -> t
val check_and_increment : xt:'a Kcas.Xt.t -> t -> float -> bool
val remaining : xt:'a Kcas.Xt.t -> t -> int
val reset_at : xt:'a Kcas.Xt.t -> t -> float