dns-resolver

DNS resolver business logic
Library dns-resolver
val pp_question : ([ `raw ] Domain_name.t * Dns.Packet.Question.qtype) Fmt.t
val follow_cname : Dns_cache.t -> int64 -> 'a Dns.Rr_map.key -> name:[ `raw ] Domain_name.t -> int32 -> alias:[ `raw ] Domain_name.t -> [ `Out of Dns.Rcode.t * bool * Dns.Name_rr_map.t * Dns.Name_rr_map.t | `Query of [ `raw ] Domain_name.t ] * Dns_cache.t
val answer : Dns_cache.t -> int64 -> [ `raw ] Domain_name.t -> Dns.Packet.Question.qtype -> [ `Query of [ `raw ] Domain_name.t | `Packet of Dns.Packet.Flags.t * Dns.Packet.reply ] * Dns_cache.t
val resolve : Dns_cache.t -> rng:( int -> Cstruct.t ) -> [ `Both | `Ipv4_only | `Ipv6_only ] -> int64 -> [ `raw ] Domain_name.t -> Dns.Packet.Question.qtype -> [ `raw ] Domain_name.t * [ `raw ] Domain_name.t * Dns.Packet.Question.qtype list * Ipaddr.t * Dns_cache.t
val handle_query : Dns_cache.t -> rng:( int -> Cstruct.t ) -> [ `Both | `Ipv4_only | `Ipv6_only ] -> int64 -> ([ `raw ] Domain_name.t * Dns.Packet.Question.qtype) -> [ `Reply of Dns.Packet.Flags.t * Dns.Packet.reply | `Query of [ `raw ] Domain_name.t * ([ `raw ] Domain_name.t * Dns.Packet.Question.qtype list) * Ipaddr.t ] * Dns_cache.t