BIND 10 #1599: introduce "asiodns::UDPSyncServer"
BIND 10 Development
do-not-reply at isc.org
Tue Feb 28 01:33:55 UTC 2012
#1599: introduce "asiodns::UDPSyncServer"
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
jinmei | Status: reviewing
Type: task | Milestone:
Priority: major | Sprint-20120306
Component: | Resolution:
Unclassified | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 7
Feature Depending on Ticket: auth | Total Hours: 0
performance |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by kevin_tes):
* owner: kevin_tes => vorner
Comment:
Replying to [comment:10 vorner]:
> Hello
>
> Replying to [comment:8 kevin_tes]:
> > A litter things I take here.
> > {{{
> > if (ec) {
> > using namespace asio::error;
> > if (ec.value() != would_block && ec.value() != try_again &&
> > ec.value() != interrupted) {
> > return;
> > }
> > // Some kind of interrupt, spurious wakeup, or like that.
Just try reading
> > // again.
> > if (0 == length) {
> > scheduleRead();
> > return;
> > }
> > }
> > }}}
> > Instead of this one,may be better for performance consider.
>
> But your version is different ‒ if the error did not happen (eg. `ec` is
false), but no data was read (`length` is zero), your version tries to
process it, while mine does not. I'm not sure if this ever happens (maybe
it could, on a spurious wakeup), but it is copied from the udp_server this
way, so I expect there was a reason for this.
>
> And the performance difference should be non-measurably small (if any at
all, compiler should be able to optimise the check of ec out if it would
be faster that way) anyway.
>
> Do you agree on keeping it this way?
Yeah, i see that, i agree with it.
>
> > May be the comments for this method should be changed in order to
explain why it throws here.
>
> OK, explanation was added.
>
> Thank you
All is ok to me, please merge it.
--
Ticket URL: <http://bind10.isc.org/ticket/1599#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list