Module Bounded_queue.Common

type t = {
  1. closed : unit -> bool;
    (*

    Is the queue closed for writing. Consumers should only use try_pop because a queue that's closed-for-writing might still contain straggler items that need to be consumed.

    This should be as fast and cheap as possible.

    *)
  2. num_discarded : unit -> int;
    (*

    How many items were discarded?

    *)
  3. size : unit -> int;
    (*

    Snapshot of how many items are currently in the queue

    *)
  4. high_watermark : unit -> int;
    (*

    Maximum size of the queue

    *)
}
val num_discarded : t -> int
val closed : t -> bool
val size : t -> int
val high_watermark : t -> int