Async_kernel.Bvarinclude module type of struct include Bvar endval sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('permissions -> Sexplib0.Sexp.t) ->
('a, 'permissions) t ->
Sexplib0.Sexp.tinclude Core.Invariant.S2
with type ('a, 'permissions) t := ('a, 'permissions) tval invariant : ('a -> unit) -> ('b -> unit) -> ('a, 'b) t -> unitval create : unit -> ('a, Core.read_write) tval wait : ('a, [> Core.read ]) t -> 'a Deferred.twait t becomes determined by the next call to broadcast t a.
val broadcast : ('a, [> Core.write ]) t -> 'a -> unitbroadcast t a causes all of the non-determined deferreds returned from wait t to become determined with a. If no such deferreds exist, this operation is a no-op.
val has_any_waiters : ('a, _) t -> boolhas_any_waiters t returns true iff there has been a call to wait t since the most recent call to broadcast t.