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