package dns
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=0882061bc5bfa7515ab26c84ca8062323ac5931b3f8ae2952794b0c927d8854e
sha512=1b937aea10a76aebd6b9f44e7142fb0818e17147048fc7ff99ff6f29e5b217eb75e2bc700464089ed453ced2fede4a094828bf278a555736b51fbe285d6271a4
doc/dns.cache/Dns_cache/index.html
Module Dns_cacheSource
DNS cache - a least recently used cache of DNS responses
This data structure allows to insert and retrieve entries into a least recently used data structure. An `Entry weights the cardinality of the resource record map, all other entries have a weight of 1.
The time to live is preserved, and when it is exceeded the entry is no longer returned.
The variant of the rank in the cache.
The type of a DNS cache.
empty maximum_size is an empty DNS cache with the maximum size as capacity.
type 'a entry = [ | `Entry of 'a| `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
]The polymorphic variant of an entry: a resource record, or no data, no domain, or a server failure.
pp_entry ppf entry pretty-prints entry on ppf.
val get :
t ->
int64 ->
[ `raw ] Domain_name.t ->
'a Dns.Rr_map.key ->
t * ('a entry * rank, [ `Cache_miss | `Cache_drop ]) resultget cache timestamp type name retrieves the query type, name from the cache using timestamp. If the time to live is exceeded, a `Cache_drop is returned. If there is no entry in the cache, a `Cache_miss is returned.
val get_or_cname :
t ->
int64 ->
[ `raw ] Domain_name.t ->
'a Dns.Rr_map.key ->
t
* ([ 'a entry | `Alias of int32 * [ `raw ] Domain_name.t ] * rank,
[ `Cache_miss | `Cache_drop ])
resultget_or_cname cache timestamp type name is the same as get, but if a `Cache_miss is encountered, a lookup for an alias (CNAME) is done.
val get_any :
t ->
int64 ->
[ `raw ] Domain_name.t ->
t
* ([ `Entries of Dns.Rr_map.t
| `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t ]
* rank,
[ `Cache_miss | `Cache_drop ])
resultget_any cache timestamp name retrieves all resource records for name in cache.
val get_nsec3 :
t ->
int64 ->
[ `raw ] Domain_name.t ->
t
* (([ `raw ] Domain_name.t * Dns.Nsec3.t) list,
[ `Cache_miss | `Cache_drop ])
resultget_nsec3 cache timestamp name retrieves all nsec3 resource records for the zone name.
set cache timestamp type name rank value attempts to insert type, name, value into the cache using the timestamp and rank. If an entry already exists with a higher rank, the cache is unchanged.