Parameter Make.2-Event_router

type t
type ('a, 'b) handler_func = Engine.Network.Node.t -> 'a -> [ `Stop of 'b | `Continue ] Async_kernel.Deferred.t
type 'a event_subscription
val create : logger:Logger.t -> event_reader: (Engine.Network.Node.t * Event_type.event) Async_kernel.Pipe.Reader.t -> t
val on : t -> 'a Event_type.t -> f:( 'a, 'b ) handler_func -> 'b event_subscription
val cancel : t -> 'a event_subscription -> 'a -> unit
val await : 'a event_subscription -> 'a Async_kernel.Deferred.t
val await_with_timeout : t -> 'a event_subscription -> timeout_duration:Core_kernel.Time.Span.t -> timeout_cancellation:'a -> 'a Async_kernel.Deferred.t