Module Tenacious_lib.Heart

include Heart_intf.S
val version : string
module Heart : sig ... end
module Glass : sig ... end
module Weak_glass : sig ... end
type t = Heart.t
val watch : Glass.t ‑> t
val combine : t list ‑> t
val combine2 : t ‑> t ‑> t
val unbreakable : t

is_unbreakable t is only approximate, since it can't be known in general whether a heart can break.

val is_unbreakable : t ‑> bool

is_unbreakable t is only approximate, since it can't be known in general whether a heart can break.

val is_broken : t ‑> bool

This watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.

val when_broken : t ‑> unit Async.Deferred.t

This watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.

tells you about what happens first: heart broken (None) or the given deferred determined with x (Some x)

val or_broken : t ‑> 'a Async.Deferred.t ‑> 'a option Async.Deferred.t

tells you about what happens first: heart broken (None) or the given deferred determined with x (Some x)