Dns_stub_mirage.MakeSourcemodule R : Mirage_crypto_rng_mirage.Smodule T : Mirage_time.Smodule P : Mirage_clock.PCLOCKmodule C : Mirage_clock.MCLOCKmodule S : Tcpip.Stack.V4V6val metrics :
[ `Authoritative_answers
| `Authoritative_errors
| `Decoding_errors
| `On_update
| `Queries
| `Reserved_answers
| `Resolver_answers
| `Resolver_nodata
| `Resolver_nodomain
| `Resolver_notimp
| `Resolver_queries
| `Resolver_servfail
| `Tcp_connections
| `Tcp_queries
| `Udp_queries ] ->
unitmodule H : sig ... endtype t = {client : Client.t;reserved : Dns_server.t;mutable server : Dns_server.t;on_update : old:Dns_trie.t ->
?authenticated_key:[ `raw ] Domain_name.t ->
update_source:Ipaddr.t ->
Dns_trie.t ->
unit Lwt.t;}val query_server :
Dns_server.t ->
Dns.Packet.Question.t ->
Dns.Packet.data ->
(?additional:Dns.Name_rr_map.t ->
[> `Answer of Dns.Packet.Answer.t
| `Rcode_error of Dns.Rcode.t * Dns.Opcode.t * Dns.Packet.Answer.t option ] ->
'a) ->
'a optionval tsig_decode_sign :
Dns_server.t ->
Dns.proto ->
Dns.Packet.t ->
string ->
([> `Rcode_error of Dns.Rcode.t * Dns.Opcode.t * 'a option ] -> 'b) ->
([ `raw ] Domain_name.t option * (Dns.Packet.data -> string option), 'b)
resultval axfr_server :
Dns_server.t ->
Dns.proto ->
Dns.Packet.t ->
Dns.Packet.Question.t ->
string ->
([> `Rcode_error of Dns.Rcode.t * Dns.Opcode.t * 'a option ] -> string) ->
string optionval update_server :
t ->
Dns.proto ->
Ipaddr.t ->
Dns.Packet.t ->
Dns.Packet.Question.t ->
Dns.Packet.Update.t ->
string ->
([> `Rcode_error of Dns.Rcode.t * Dns.Opcode.t * 'a option ] -> string) ->
string option Lwt.tval server :
t ->
Dns.proto ->
Ipaddr.t ->
Dns.Packet.t ->
string ->
(?additional:Dns.Name_rr_map.t ->
[> `Answer of Dns.Packet.Answer.t
| `Rcode_error of Dns.Rcode.t * Dns.Opcode.t * Dns.Packet.Answer.t option ] ->
string) ->
string option Lwt.tval resolve :
t ->
Dns.Packet.Question.t ->
Dns.Packet.data ->
([> `Answer of Dns.Name_rr_map.t * Dns.Name_rr_map.t
| `Rcode_error of
Dns.Rcode.t
* Dns.Opcode.t
* (Dns.Name_rr_map.t * Dns.Name_rr_map.t) option ] ->
'a) ->
'a option Lwt.tval create :
?cache_size:int ->
?edns:[ `Auto | `Manual of Dns.Edns.t | `None ] ->
?nameservers:string list ->
?timeout:int64 ->
?on_update:
(old:Dns_trie.t ->
?authenticated_key:[ `raw ] Domain_name.t ->
update_source:Ipaddr.t ->
Dns_trie.t ->
unit Lwt.t) ->
Dns_server.Primary.s ->
happy_eyeballs:H.t ->
S.t ->
t Lwt.t