Internal_event.All_sinksUse All_sinks.register to add a new inactive sink, then All_sinks.activate to make it handle events.
val register : 'a sink_definition -> unitRegister a new sink (e.g. let () = Internal_event.All_sinks.register (module Sink_implementation)) for it to be available (but inactive) in the framework.
val activate : Uri.t -> unit Mavryk_error_monad.Error_monad.tzresult Lwt.tMake a registered sink active: the function finds it by URI scheme and calls configure.
val close :
?except:(Uri.t -> bool) ->
unit ->
unit Mavryk_error_monad.Error_monad.tzresult Lwt.tCall close on all the sinks, except the ones matching the predicate ?except (default: all of them).