summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-dns-scope.h
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-11-27 00:42:56 +0100
committerTom Gundersen <teg@jklm.no>2015-11-27 00:42:56 +0100
commit8a7a7e971e97830fd722fb73ef87f7180180cc27 (patch)
tree9ac1760894c256185bb5a1899bac69f38b39237c /src/resolve/resolved-dns-scope.h
parentc283267467db7a7fde9d15042b907884118e8fea (diff)
parent039a8725fdff1d71e9efd28f27741601c5b4235c (diff)
Merge pull request #2041 from poettering/resolved-various-2
various smaller fixes, plus one that makes the build succeed again
Diffstat (limited to 'src/resolve/resolved-dns-scope.h')
-rw-r--r--src/resolve/resolved-dns-scope.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h
index 32e6961757..7876410b7d 100644
--- a/src/resolve/resolved-dns-scope.h
+++ b/src/resolve/resolved-dns-scope.h
@@ -58,9 +58,19 @@ struct DnsScope {
usec_t resend_timeout;
usec_t max_rtt;
- Hashmap *transactions;
LIST_HEAD(DnsQueryCandidate, query_candidates);
+ /* Note that we keep track of ongoing transactions in two
+ * ways: once in a hashmap, indexed by the rr key, and once in
+ * a linked list. We use the hashmap to quickly find
+ * transactions we can reuse for a key. But note that there
+ * might be multiple transactions for the same key (because
+ * the zone probing can't reuse a transaction answered from
+ * the zone or the cache), and the hashmap only tracks the
+ * most recent entry. */
+ Hashmap *transactions_by_key;
+ LIST_HEAD(DnsTransaction, transactions);
+
LIST_FIELDS(DnsScope, scopes);
};