Module Make.Expert
module Checked_out_entry : sig ... end
A spooled entry that is checked out, independent of any particular queue. No other process using this interface will be able to interfere with a
Checked_out_entry.t
(unlike anEntry.t
, which may be stolen out from under you).
val checkout : Entry.t -> Checked_out_entry.t Async.Deferred.Or_error.t
Check out an
Entry.t
. Usecheckout
if you expect to be the only user of anEntry.t
and it is an error if the Entry.t is grabbed by another process (or does not exist). Seewith_entry
for a higher-level interface.
val checkout' : Entry.t -> [ `Not_found | `Ok of Checked_out_entry.t ] Async.Deferred.Or_error.t
Check out an
Entry.t
. Usecheckout'
if you expect that another process might race to grab anEntry.t
. Seewith_entry'
for a higher-level interface.
val list_checkouts_unsafe : spool -> Spoolable.Queue.t -> Checked_out_entry.t list Async.Deferred.Or_error.t
Get a hold of all currently checked out entries in the given
queue
. This operation breaks the invariant that eacht
has a single owner. It should only be used in cases where it is easy to reason about what processes are potentially manipulating the spool.
module Queue_reader : sig ... end