[bind10-dev] BIND 10 trac503, updated. implement ANY query logic

Michal 'vorner' Vaner michal.vaner at nic.cz
Wed Jan 26 20:26:01 UTC 2011


Hello

On Wed, Jan 26, 2011 at 10:36:54AM -0800, JINMEI Tatuya / 神明達哉 wrote:
> RRsetList is not actually a "list".  It's actually a "set of RRsets",
> and its "add" method internally performs "insert it if it's not
> already in the set", which is expensive.

Then may I point out the name is probably misleading? I didn't look the class up
in the documentation, but I expected by the name that it is just a vector
wrapped in something.

Anyway, while ANY query is probably used mostly for debuging, it doesn't seem
important (and even less right now).

> I also have a concern with the new find() interface.  It looks awkward
> that it (can) return a requested type of RRset as a return value while
> also providing all types of RRsets via the "target".

Not really. Currently it returns only when there's no exact match on rtype (eg.
if it would lead to NXRRSET). But if it would be used for anything else, that
might still change.

> What I'd envision instead is that Zone::find() returns (an abstract
> notion of) the "domain" for the qname.  It would point to an RBNode
> for the current implementation of the in-memory data source.  We then
> provide an interface to iterate over (or retrieve) all types of RRsets
> on a domain.  We might also want to add an interface to retrieve a
> given type of RRset (if any) of a given "domain".

Yes, but that is slightly more complicated (the difference would be at last 50
lines of code I guess).

So, while not completely disagreeing with you, may I propose something? Leave it
as it is right now, because the thing works. Later we will be merging interfaces
of in-memory datasource and the SQLite datasource and will need to come up with
something common. It will cause earthquake in the interfaces, so why don't we
solve it after then?

Have a nice day

-- 
chown -R us $BASE

Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20110126/ad95f1e1/attachment.bin>


More information about the bind10-dev mailing list