type context = Dns_client_mirage.Make(R)(T)(M)(P)(Stack).Transport.context
type io_addr = [
|
`Plaintext of Ipaddr.t * int
|
`Tls of Tls.Config.client * Ipaddr.t * int
]
type t = Dns_client_mirage.Make(R)(T)(M)(P)(Stack).Transport.t
val create :
?nameservers:(Dns.proto * io_addr list) ->
timeout:int64 ->
stack ->
t
val nameservers : t -> Dns.proto * io_addr list
val rng : int -> Cstruct.t
val clock : unit -> int64
val connect : t -> (Dns.proto * context, [> `Msg of string ]) Stdlib.result io
val send_recv :
context ->
Cstruct.t ->
(Cstruct.t, [> `Msg of string ]) Stdlib.result io
val bind : 'a io -> ('a -> 'b io) -> 'b io