package lwt

  1. Overview
  2. Docs
Promises and event-driven I/O

Install

Dune Dependency

Authors

Maintainers

Sources

5.7.0.tar.gz
md5=737039d29d45b2d2b35db6931c8d75c6
sha512=42e629920783428673b99c9d7a639237c9e6b35079b5d907bc67e7ea506acf9edadc48cec580bdcfd2410ed9412bf5e6bcc8b09de2fa7d35ce1490973d05ddd1

doc/lwt.unix/Lwt_throttle/Make/index.html

Module Lwt_throttle.MakeSource

Parameters

Signature

Sourcetype key = H.t
Sourcetype t
Sourceval create : rate:int -> max:int -> n:int -> t

Creates a rate limiter.

  • parameter rate

    Maximum number of promise resolutions per second, per channel.

  • parameter max

    Maximum number of pending promises allowed at once, over all channels.

  • parameter n

    Initial size of the internal channel hash table. This should be approximately the number of different channels that will be used.

Sourceval wait : t -> key -> bool Lwt.t

Lwt_throttle.wait limiter channel returns a new promise associated with the given rate limiter and channel.

If the maximum number of pending promises for limiter has not been reached, the promise starts pending. It will be resolved with true at some future time, such that the rate limit of limiter is not exceeded, with respect to other promises in the same channel.

If the maximum number of pending promises has been reached, the returned promise is already resolved with false.

OCaml

Innovation. Community. Security.