package dns-client

  1. Overview
  2. Docs

Parameters

module T : Mirage_time.S

Signature

module Transport : Dns_client.S with type io_addr = Ipaddr.V4.t * int and type +'a io = 'a Lwt.t and type stack = S.t
include sig ... end
val nameserver : t -> Transport.ns_addr
val getaddrinfo : t -> ?nameserver:Transport.ns_addr -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string ]) result Transport.io
val gethostbyname : t -> ?nameserver:Transport.ns_addr -> [ `host ] Domain_name.t -> (Ipaddr.V4.t, [> `Msg of string ]) result Transport.io
val gethostbyname6 : t -> ?nameserver:Transport.ns_addr -> [ `host ] Domain_name.t -> (Ipaddr.V6.t, [> `Msg of string ]) result Transport.io
val get_resource_record : t -> ?nameserver:Transport.ns_addr -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string | `No_data of [ `raw ] Domain_name.t * Dns.Soa.t | `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t ]) result Transport.io
val create : ?size:int -> ?nameserver:Transport.ns_addr -> ?timeout:int64 -> S.t -> t

create ~size ~nameserver stack uses R.generate and C.elapsed_ns as random number generator and timestamp source, and calls the generic Dns_client.Make.create.