BIND 10 #1608: implement findAdditional() for in memory data source
BIND 10 Development
do-not-reply at isc.org
Mon Jan 23 13:58:13 UTC 2012
#1608: implement findAdditional() for in memory data source
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: task | Milestone: Next-Sprint-
Priority: major | Proposed
Component: data | Resolution:
source | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 0
Feature Depending on Ticket: | Total Hours: 0
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by vorner):
Hello
I could think of a lazy implementation. All these hint pointers are left
out as NULL at the beginning (and some kind of flag „precomputed“ is set
to false). Once the findAdditional is called for the RRset, the flag is
checked. If it is false, the default ZoneFinder::findAdditional is found
and the result is stored. If the flag is true, it just returns whatever is
stored there.
It has the slight disadvantage that it slows down answers when serving a
little bit shortly after the startup. But considering most of the queries
are to the same names, the once-time real lookup should not be visible.
Also, this might be extended in future when we have some kind of updates
at runtime. The flag could be turned to generation, all A/AAAA would have
their generation and if they are not the same, the hint would be
recomputed.
But I don't know if we really want to go to the lazy approach, since it is
slightly more work, if we want to redesign the internal structure anyway.
--
Ticket URL: <http://bind10.isc.org/ticket/1608#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list