Up

Module Keyed_sequencer = Keyed_sequencer

Signature

type 'a t
val create : hashable:'a Core.Std.Hashtbl.Hashable.t -> ?on_exn:('a -> exn -> unit) -> ?max_total_concurrent_jobs:int -> unit -> 'a t
val enqueue : 'a t -> key:'a -> (unit -> 'b Async.Std.Deferred.t) -> 'b Async.Std.Deferred.t
val has_empty_spot : 'a t -> key:'a -> bool
val run_now : 'a t -> key:'a -> (unit -> 'b Async.Std.Deferred.t) -> [
| `no_empty_spots
| `running of 'b Async.Std.Deferred.t
]