Module Dns_cache

type rank =
| ZoneFile
| ZoneTransfer
| AuthoritativeAnswer
| AuthoritativeAuthority
| ZoneGlue
| NonAuthoritativeAnswer
| Additional
val pp_rank : rank Fmt.t
val compare_rank : rank -> rank -> int
type t
val empty : int -> t
val size : t -> int
val capacity : t -> int
val pp : t Fmt.t
type entry = [
| `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_entry : entry Fmt.t
val get : t -> int64 -> [ `raw ] Domain_name.t -> 'a Dns.Rr_map.key -> (entry[ `Cache_miss | `Cache_drop ]) Stdlib.result

get lru_cache timestamp request_type name

val set : t -> int64 -> [ `raw ] Domain_name.t -> 'a Dns.Rr_map.key -> rank -> entry -> unit

set lru_cache timestamp request_type name rank value