I misunderstood the purpose of the
heap_index rdataset header
member; I thought it identified which heap to use, and could therefore
be smaller, the same size as
locknum indexes. But in fact it is a
position within a heap, so it needs to be able to count up to the
total number of rdatasets in the rbtdb.
So this changes
uint16_t back to
To avoid re-embiggening the rdatasetheader, shrink the
count is used to rotate RRsets in
dns_rdataset_towiresorted(), so 16 bits is more than large enough.
This change also means we no longer need to avoid colliding with
DNS_RDATASET_COUNT_UNDEFINED i.e. UINT32_MAX.
Closes #3862 (closed)