Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
An implementation of SINK
is responsible for handling/storing events, for instance, a sink could be output to a file, to a database, or a simple "memory-less" forwarding mechanism.
A sink can store any required state, e.g. a database handle, in a value of the t
type see configure
.
val configure : Uri.t -> t Tezos_error_monad.Error_monad.tzresult Lwt.t
When a registered sink is activated the configure
function is called to initialize it. The parameters should be encoded or obtained from the URI (the scheme of the URI is already uri_scheme
).
val handle :
t ->
'a event_definition ->
?section:Section.t ->
(unit -> 'a) ->
unit Tezos_error_monad.Error_monad.tzresult Lwt.t
A sink's main function is to handle
incoming events from the code base.
val close : t -> unit Tezos_error_monad.Error_monad.tzresult Lwt.t
A function to be called on graceful termination of processes (e.g. to flush file-descriptors, etc.).