Home | History | Annotate | Download | only in dns

Lines Matching refs:probe

205  * Robin Hood hashing aims to minimize probe distance when inserting a
207 * probe distance than any other element in its probe sequence. During
209 * probe distance, it is swapped with the new element, and insertion
218 slot_index(dns_compress_t *cctx, unsigned int hash, unsigned int probe) {
219 return (hash + probe) & cctx->mask;
224 unsigned int label, uint16_t hash, unsigned int probe) {
235 unsigned int slot = slot_index(cctx, hash, probe);
244 if (probe > probe_distance(cctx, slot)) {
245 probe = probe_distance(cctx, slot);
249 probe++;
258 unsigned int label, uint16_t hash, unsigned int probe) {
265 while (insert_label(cctx, buffer, name, label, hash, probe) &&
271 probe = 0;
307 for (unsigned int probe = 0; true; probe++) {
308 unsigned int slot = slot_index(cctx, hash, probe);
317 if (coff == 0 || probe > probe_distance(cctx, slot)) {
318 insert(cctx, buffer, name, label, hash, probe);
348 * probe sequence, so we slide them down to overwrite the entry
349 * we are deleting and preserve the probe sequence. Moving an
350 * element to the previous slot reduces its probe distance, so
351 * we stop when we find an element whose probe distance is zero.