Data Fields
ub_packed_rrset_key Struct Reference

This structure contains an RRset. More...

#include <packed_rrset.h>

Data Fields

struct lruhash_entry entry
 entry into hashtable. More...
 
rrset_id_t id
 the ID of this rrset. More...
 
struct packed_rrset_key rk
 key data: dname, type and class
 

Detailed Description

This structure contains an RRset.

A set of resource records that share the same domain name, type and class.

Due to memory management and threading, the key structure cannot be deleted, although the data can be. The id can be set to 0 to store and the structure can be recycled with a new id.

Field Documentation

struct lruhash_entry ub_packed_rrset_key::entry

entry into hashtable.

Note the lock is never destroyed, even when this key is retired to the cache. the data pointer (if not null) points to a struct packed_rrset.

Referenced by add_item(), add_soa(), adjust_ttl(), alloc_clear(), alloc_get_mem(), alloc_setup_special(), assemble_it(), assembled_rrset_delete(), autr_assemble(), autr_rrset_delete(), cache_fill_missing(), canonical_compare(), check_contains_revoked(), check_delegation_secure(), deleg_remove_nonsecure_additional(), delegpt_add_rrset_A(), delegpt_add_rrset_AAAA(), delegpt_rrset_add_ns(), detect_wrongly_truncated(), dns_cache_find_delegation(), dns_cache_lookup(), dns_cache_store(), do_list_local_data(), ds_response_to_ke(), fill_res(), find_add_addrs(), find_add_ds(), get_cname_target(), grab_nsec(), invalidateQueryInCache(), iter_lookup_parent_glue_from_cache(), iter_lookup_parent_NS_from_cache(), iter_store_parentside_neg(), key_entry_create_rrset(), key_matches_a_ds(), key_ttl(), load_ref(), lz_enter_rr_into_zone(), move_into_cache(), neg_insert_data(), new_local_rrset(), nsec3_get_algo(), nsec3_get_iter(), nsec3_get_nextowner(), nsec3_get_salt(), nsec3_has_optout(), nsec3_has_type(), nsec3_known_algo(), nsec3_no_type(), nsec3_unknown_flags(), nsec_verify_rrset(), packed_rrset_copy_alloc(), packed_rrset_copy_region(), packed_rrset_encode(), parse_copy_decompress(), parse_copy_decompress_rrset(), print_dp_main(), process_dlv_response(), repinfo_alloc_rrset_keys(), repinfo_copy_rrsets(), reply_all_rrsets_secure(), reply_info_set_ttls(), rrset_array_lock(), rrset_cache_lookup(), rrset_cache_remove(), rrset_cache_touch(), rrset_cache_update(), rrset_canonical(), rrset_canonical_equal(), rrset_check_sec_status(), rrset_equal(), rrset_get_count(), rrset_get_rdata(), rrset_get_sig_algo(), rrset_get_sig_keytag(), rrset_get_sigcount(), rrset_get_ttl(), rrset_msg(), rrset_update_id(), rrset_update_sec_status(), store_rrset(), store_rrsets(), synth_dname_msg(), ub_packed_rrset_parsedelete(), ub_rrset_sizefunc(), update_events(), val_check_nonsecure(), val_find_best_signer(), val_find_DS(), val_find_rrset_signer(), val_has_signed_nsecs(), val_mark_indeterminate(), val_mark_insecure(), val_neg_dlvlookup(), val_next_unchecked(), val_verify_rrset_entry(), validate_msg_signatures(), and validate_referral_response().

rrset_id_t ub_packed_rrset_key::id

the ID of this rrset.

unique, based on threadid + sequenceno. ids are not reused, except after flushing the cache. zero is an unused entry, and never a valid id. Check this value after getting entry.lock. The other values in this struct may only be altered after changing the id (which needs a writelock on entry.lock).

Referenced by alloc_special_obtain(), dns_cache_store(), dns_cache_store_msg(), log_ident_set(), move_into_cache(), packed_rrset_copy_region(), repinfo_copy_rrsets(), rrset_cache_touch(), rrset_cache_update(), rrset_markdel(), rrset_update_id(), store_rrset(), store_rrsets(), ub_packed_rrset_parsedelete(), and ub_rrset_key_delete().


The documentation for this struct was generated from the following file: