Up

Module Limiter = Async_extra.Limiter

Signature

module Outcome : sig .. end
The outcome of a job
type t
val sexp_of_t : t -> Sexplib.Sexp.t
type limiter = t
val sexp_of_limiter : limiter -> Sexplib.Sexp.t
Specialized limiters

A collection of limiters, specialized to different use-cases, all supporting a shared subset of their interface

module type Common = sig .. end
module Token_bucket : sig .. end

Throttle, Sequencer, and Resource_throttle re-implement the functionality available in the core Async.Throttle module with the hope that these implementations can eventually supplant that code. It is helpful to use these modules in systems that can afford to do a bit more testing so that we can get feedback on the behavior of the new implementation. They are intended to be mostly drop-in replacements.

module Throttle : sig .. end
Implements a basic throttle meant to bound the number of jobs that can concurrently run.
module Sequencer : sig .. end
A sequencer is a throttle that is specialized to only allow one job at a time and to, by default, not continue on error.
module Resource_throttle : sig .. end
A resource throttle holds a static list of n resources that are handed out in a round-robin fashion to up to n concurrent jobs.
module Expert : sig .. end