Name resource record map

This map uses the resource record map above as value in a domain name map. Common DNS queries and answers have this structure as their value.

The type of a Domain_name map whose values are resource record sets. Observable in the answer and authority sections of a DNS packet.

val empty : t

empty is the empty map.

val equal : t -> t -> bool

equal a b is true when a and b contain the same keys and values, false otherwise.

val pp : t Fmt.t

pp ppf t pretty-prints the name resource record map t on ppf.

val add : [ `raw ] Domain_name.t -> 'a Rr_map.key -> 'a -> t -> t

add name rr_typ rr_set map adds the binding name -> rr_typ, rr_set to map, if already present, Rr_map.union_rr is applied for merging.

val find : [ `raw ] Domain_name.t -> 'a Rr_map.key -> t -> 'a option

find name rr_typ map returns the rr_set for name, rr_typ if present, None otherwise.

val remove_sub : t -> t -> t

remove_sub map sub removes all name, rr_key from map that are present in sub. Their values rr_set are not compared.

val singleton : [ `raw ] Domain_name.t -> 'a Rr_map.key -> 'a -> t

singleton name rr_typ rr_set constructs a t with the single entry name, rr_typ mapped to rr_set.

val union : t -> t -> t

union a b is union of a and b, using Rr_map.unionee.