Module domain::base::cmp

source ·
Expand description

Additional traits for comparisions.

These traits exist because there are several ways of compare domain names included in composite structures. Normally, names are compared ignoring ASCII case. This is what PartialEq and PartialOrd do for domain names. Consequently, when comparing resource records and record data that contain domain names, ASCII case should also be ignored.

However, the canonical form of most resource type’s record data (apart from a small set of well-known types) requires names to be considered as they are for comparisons. In order to make it clear when this mode of comparision is used, this module defines a new trait CanonicalOrd that allows types to define how they should be compared in the context of DNSSEC. The trait is accompanied by compose_canonical methods on all types that have or may have a canonical form.

Traits