Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val pp_rank : rank Fmt.t
val pp_stats : stats Fmt.t
val stats : unit -> stats
val empty : int -> t
val size : t -> int
val capacity : t -> int
val pp : t Fmt.t
val pp_question : ([ `raw ] Domain_name.t * Dns.Packet.Question.qtype) Fmt.t
type res = [
| `Alias of int32 * [ `raw ] Domain_name.t
| `Entry of Dns.Rr_map.b
| `No_data of [ `raw ] Domain_name.t * Dns.Soa.t
| `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t
| `Serv_fail of [ `raw ] Domain_name.t * Dns.Soa.t
]
val pp_res : res Fmt.t
val cached :
t ->
int64 ->
'a Dns.Rr_map.key ->
[ `raw ] Domain_name.t ->
(res * t, [ `Cache_miss | `Cache_drop ]) Stdlib.result
val maybe_insert :
'a Dns.Rr_map.key ->
[ `raw ] Domain_name.t ->
int64 ->
rank ->
res ->
t ->
t
val follow_cname :
t ->
int64 ->
'a Dns.Rr_map.key ->
name:[ `raw ] Domain_name.t ->
int32 ->
alias:[ `raw ] Domain_name.t ->
[ `Out of Dns.Rcode.t * Dns.Name_rr_map.t * Dns.Name_rr_map.t * t
| `Query of [ `raw ] Domain_name.t * t ]
val answer :
t ->
int64 ->
[ `raw ] Domain_name.t ->
Dns.Packet.Question.qtype ->
[ `Query of [ `raw ] Domain_name.t * t
| `Packet of Dns.Packet.Flags.t * Dns.Packet.reply * t ]
val resolve :
t ->
rng:(int -> Cstruct.t) ->
int64 ->
[ `raw ] Domain_name.t ->
Dns.Rr_map.k ->
[ `raw ] Domain_name.t * [ `raw ] Domain_name.t * Dns.Rr_map.k * Ipaddr.t * t
val handle_query :
t ->
rng:(int -> Cstruct.t) ->
int64 ->
[ `raw ] Domain_name.t ->
Dns.Packet.Question.qtype ->
[ `Reply of Dns.Packet.Flags.t * Dns.Packet.reply
| `Nothing
| `Query of
[ `raw ] Domain_name.t
* ([ `raw ] Domain_name.t * Dns.Packet.Question.qtype)
* Ipaddr.t ]
* t