val dequeue : ?stop:unit Async.Deferred.t ‑> Queue_reader.t ‑> [ `Stopped | `Checked_out of Checked_out_entry.t * Queue_reader.t ] Async.Deferred.Or_error.t
Wait for and dequeue the next entry that appears.
val dequeue_available : Queue_reader.t ‑> ([ `Nothing_available | `Checked_out of Checked_out_entry.t ] * Queue_reader.t) Async.Deferred.Or_error.t
Dequeue the next entry that that is available, if any. Do not wait.