Module Async_smtp__Multispool.Make.Expert.Checked_out_entry

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 an Entry.t, which may be stolen out from under you).

type t
val contents : t ‑> Spoolable.Metadata.t
val update : t ‑> f:(Spoolable.Metadata.t ‑> Spoolable.Metadata.t) ‑> t
val data_file : t ‑> Data_file.t
val save : t ‑> Spoolable.Queue.t ‑> unit Async.Deferred.Or_error.t

Atomically return a Checked_out_entry.t to a queue. The Checked_out_entry.t should be forgotten after this.

val remove : t ‑> unit Async.Deferred.Or_error.t

Delete a Checked_out_entry.t (along with its registry file and data_file). The Checked_out_entry.t should be forgotten after this.