Module Make.H

type t = Happy_eyeballs_mirage.Make(S).t
type stack = S.t
type flow = S.TCP.flow
type getaddrinfo = [ `A | `AAAA ] -> [ `host ] Domain_name.t -> (Ipaddr.Set.t, [ `Msg of string ]) result Lwt.t
val create : ?happy_eyeballs:??? -> ?getaddrinfo:??? -> ?timer_interval:??? -> stack -> t
val inject : t -> getaddrinfo -> unit
val connect_host : t -> ?aaaa_timeout:??? -> ?connect_delay:??? -> ?connect_timeout:??? -> ?resolve_timeout:??? -> ?resolve_retries:??? -> [ `host ] Domain_name.t -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t
val connect_ip : t -> ?aaaa_timeout:??? -> ?connect_delay:??? -> ?connect_timeout:??? -> (Ipaddr.t * int) list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t
val connect : t -> ?aaaa_timeout:??? -> ?connect_delay:??? -> ?connect_timeout:??? -> ?resolve_timeout:??? -> ?resolve_retries:??? -> string -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t
val connect_device : ?aaaa_timeout:??? -> ?connect_delay:??? -> ?connect_timeout:??? -> ?resolve_timeout:??? -> ?resolve_retries:??? -> ?timer_interval:??? -> ?getaddrinfo:??? -> stack -> t Lwt.t