// Package traverse implements iterative DNS tree traversal. // // Starting from the DNS root, the traverser follows referrals depth-first until // it reaches a terminal response (answer, NXDOMAIN, SERVFAIL, etc.) for the // queried name and type. CNAME chains are followed automatically; CNAME loops // are detected and reported as errors. // // Key types: // // - Traverser — entry point; call NewTraverser then Traverse. // - TraverserConfig — controls max depth, query type, root discovery and fast mode. // - Referral — a pending query to a set of nameserver addresses. // - Response — the classified, decoded result of querying a Referral. // - InfoCache — a two-level (parent/child) cache for NS records and glue. // - Stack — depth-limited LIFO work queue used by Traverser. // - TraverserHooks — callback interface for progress and result events. package traverse