Module Async_smtp__.Multispool.Make.Expert.Queue_reader

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.