package async_extended

  1. Overview
  2. Docs
type 'a t
val create : ?eq:('a -> 'a -> bool) -> 'a -> 'a t
val close : 'a t -> unit
val get : 'a t -> 'a
val set : 'a t -> 'a -> unit
val send : 'a t -> 'a -> unit
val upon : 'a t -> f:('a -> unit) -> unit
val next : 'a t -> 'a Async.Deferred.t

next t returns the next value in t

val on_update : 'a t -> ?stop_condition:('a -> bool) -> ('a -> unit) -> unit
val register : 'a t -> f:('a -> Synccast.interest_status Async.Deferred.t) -> unit
val register_init : 'a t -> init:(unit -> unit Async.Deferred.t) -> f:('a -> Synccast.interest_status Async.Deferred.t) -> unit
val register_self_init : 'a t -> f:('a -> Synccast.interest_status Async.Deferred.t) -> unit

register_self_init t ~f same as register init, but uses the function f as the initialization function

val create_repeater : ?randomize:float -> ?stop_condition:(Core.Time.t -> bool) -> Core.Time.Span.t -> Core.Time.t t