sig
type 'a t
val invariant :
'a Core_kernel.Invariant_intf.inv -> 'a t Core_kernel.Invariant_intf.inv
val create : can_subscribe_after_start:bool -> 'a Bus.t
val start : 'a Bus.t -> unit
val flushed : 'a Bus.t -> unit Import.Deferred.t
val write : 'a Bus.t -> 'a -> unit
module Subscriber :
sig
type 'a t
val sexp_of_t :
('a -> Sexplib.Sexp.t) -> 'a Bus.Subscriber.t -> Sexplib.Sexp.t
end
val subscribe_exn : 'a Bus.t -> f:('a -> unit) -> 'a Bus.Subscriber.t
val unsubscribe : 'a Bus.t -> 'a Bus.Subscriber.t -> unit
val reader_exn : 'a Bus.t -> 'a Import.Pipe.Reader.t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a Bus.t -> Sexplib.Sexp.t
end