BIND 10 #1396: Rdata::getLength() for use with xfrout
BIND 10 Development
do-not-reply at isc.org
Mon Jan 27 06:16:04 UTC 2014
#1396: Rdata::getLength() for use with xfrout
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner: muks
Type: enhancement | Status:
Priority: medium | reviewing
Component: libdns++ | Milestone:
Keywords: | Sprint-20131015
Sensitive: 0 | Resolution:
Sub-Project: DNS | CVSS Scoring:
Estimated Difficulty: 3 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by muks):
Hi Paul
Rendering to wire data to calculate lengths is very expensive. I am
guessing this is why Jinmei created this ticket, and this functionality
belongs in `Rdata` where derived types can return the required length in
constant time. We should not close it as wontfix.
This being a 3 point ticket, I didn't know how much was to be
implemented as part of it.
* Adding type-specific `getLength()` implementations is a much larger
task, and this should at least be put off until the RR types in review
are first merged to master.
* `getLength()` is `virtual` (with a default implementation) so that
such type-specific implementations can be added later.
* xfrout should be modified to use this newly introduced method. I don't
know if this ticket includes doing that (the description says "we can
use it in xfrout" but not if it should be done in this ticket).
To avoid confusion, I'll edit the branch further to update `RRset` to
have a `getWireLength()` method, add a Python binding for it and and
update xfrout to use this binding.
Adding implementations of `Rdata` should be done only after the current
RR types in review are merged to `master`. As there is a default
implementation, they will not cause a compile error if a derived
implementation is missing (though I suppose the default implementation
can be removed once all derived types have implementations). It is also
a much larger task.
--
Ticket URL: <http://bind10.isc.org/ticket/1396#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list