BIND 10 #1113: RR type implementation: MINFO
BIND 10 Development
do-not-reply at isc.org
Wed Aug 17 05:18:50 UTC 2011
#1113: RR type implementation: MINFO
-------------------------------------+-------------------------------------
Reporter: shane | Owner: zzchen_pku
Type: | Status: reviewing
enhancement | Milestone:
Priority: minor | Sprint-20110816
Component: | Resolution:
libdns++ | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 0.0
Feature Depending on Ticket: | Total Hours: 0
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by zzchen_pku):
Replying to [comment:11 jinmei]:
> The latest version basically looks fine and ready for merge.
>
> I have some minor additional comments though. I don't think we need
> another cycle of review for this, so please update the code
> accordingly and then merge it.
>
> - Unfortunately this comment is not 100% correct:
> {{{
> + /// This method never throws an exception.
> + MINFO& operator=(const MINFO& source);
> }}}
> because coping a name may result in std::bad_alloc. I personally
> even note this obvious, but others seem to rather ignore this level
> of exceptions in documentation. Either is okay for me, but at least
> "never throws" is not correct and should be fixed.
>
> - I'd remove the comment line because it now has MINFO specific code
> in it (although technically it may not be considered
> "specialization"):
> {{{
> +class Rdata_MINFO_Test : public RdataTest {
> + // there's nothing to specialize
> }}}
>
> - The assignment test: this is fine, although it's probably too much
> because the implementation is a trivial copy (rather than using
> pimpl which requires a bit more care). But I'm okay with keeping
> the current test case.
>
> - rdata_minfo_toWireUncompressed2.spec: the comment doesn't seem to be
> correct (it customizes the rmailbox). Ideally it describes the
> point of the test correctly. Or at least the incorrect part of the
> comment should be removed.
Fixed.
> > > The copy constructor still isn't tested. Also, when we want to
define
> > > the copy constructor we should normally also define the assignment
> > > operator. Why don't you omit the latter?
> > Added assignment operator.
> > As fast as I know, the default copy constructor and assginment
operator should be enough for MINFO, but it seems gen-rdatacode.py.in
requires all rdata types to define their own copy constructor ,don't know
the reason.
>
> This is not a requirement of gen-rdatacode. It's a consequence of the
> fact that the base class Rdata declares the copy constructor and
> operator= as private methods (to make it non copyable, which is for
> avoiding unexpected slicing). Even if they are private in terms of
> accessibility, the compiler finds it when it tries to resolve the
> definition in a derived class and then throw a compilation error due
> to the accessibility restriction. So, admittedly it's a bit
> inconvenient, we always have to define these methods in derived
> classes explicitly.
Yeah, got it, thanks.
--
Ticket URL: <http://bind10.isc.org/ticket/1113#comment:13>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list