BIND 10 #347: Implement query counters in auth module
BIND 10 Development
do-not-reply at isc.org
Tue Dec 28 07:06:07 UTC 2010
#347: Implement query counters in auth module
------------------------------+---------------------------------------------
Reporter: naokikambe | Owner: y-aharen
Type: enhancement | Status: closed
Priority: major | Milestone: y2 12 month milestone
Component: b10-auth | Resolution: complete
Keywords: | Sensitive: 0
Estimatedhours: 0.0 | Hours: 0
Billable: 1 | Totalhours: 0
Internal: 0 |
------------------------------+---------------------------------------------
Changes (by y-aharen):
* status: reviewing => closed
* resolution: => complete
Comment:
Replying to [comment:17 jinmei]:
> Replying to [comment:15 y-aharen]:
>
> '''asio_link.cc'''
> > > > > - IntervalTimerImpl::callback()
> > > Throwing an exception in setupTimer() is fine. I meant the assert()
in callback(), and now the setupTimer() ensures the parameters are valid
and it's the only place they can be set, we can safely assert() the fact
here. But this is just a comment; whether to re-introduce the assert() is
up to you.
> > I see. I think it is not necessary to assert because the parameters
are checked in setupTimer().
> >
> It's up to you, but the reason doesn't make sense to me. With that
logic we'd never need any assert(). assert() is to perform a run time
check for something "that should never happen because we should have
checked the parameters/validated the input/not modified the data, etc" in
the first place. But in reality humans are not perfect and make mistakes,
and anything that should never happen will often happen. That's why we
need assert().
>
> To be clear, again, it's up to you. After all, no one will do assert()
in the obvious code like this:
> {{{
> int i = 0;
> ++i;
> assert(i == 1);
> }}}
>
> The real cases are more subtle, of course, and different developers have
different senses of "what's obvious". Asynchronous code logic is often
tricky and tends to cause surprising bugs, which is why I thought
assert()ing it may make sense. But if you think the correctness of the
current code is sufficiently obvious, feel free to leave the code without
the assert().
OK, I leave the code without the assert().
> > If there is no problem, I will merge the branch into trunk.
> >
> I'm okay with the branch. Please feel free to merge it.
Merged to trunk at r4026. Thanks for your review.
I created [ticket:452] to address long delay in IntervalTimerTest.
--
Ticket URL: <http://bind10.isc.org/ticket/347#comment:19>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list