Module Throttle.Sequencer

module Sequencer: sig .. end
A sequencer is a throttle that is:

1. specialized to only allow one job at a time and to not continue on error, and 2. generalized to carry its own state, and enforce mutually exclusive access to that state by the jobs


type 'a t 
val create : ?continue_on_error:bool -> 'a -> 'a t
create a new monitor with the specified initial state
val enqueue : 'a t -> ('a -> 'b Deferred.t) -> 'b Deferred.t
schedule a state-accessing operation
val num_jobs_waiting_to_start : 'a t -> int