BIND 10 #2935: the "checkin" callback for asiodns server classes should be removed
BIND 10 Development
do-not-reply at isc.org
Mon Apr 29 23:19:26 UTC 2013
#2935: the "checkin" callback for asiodns server classes should be removed
----------------------------------------+----------------------------------
Reporter: jinmei | Owner:
Type: defect | Status: new
Priority: medium | Milestone: New Tasks
Component: b10-auth | Keywords:
CVSS Scoring: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DNS
Feature Depending on Ticket: | Estimated Difficulty: 0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
----------------------------------------+----------------------------------
The "checkin" callbacks passed to `asiodns::UDP/TCPServer` class
are meaningless. I don't know why they were introduced, but at least
currently the only purpose of them is to check whether any incoming
command (including config update) is delivered to a CC channel.
First, this is meaningless, because `ModuleCCSession` watches the
channel (on top of the same asio::io_service) asynchronously itself.
Secondly, it's not effective because if that were the only way to get
commands, an idle server (one that is not receiving queries) could never
get commands. Third, it's performance bottleneck because this is
basically a polling invoked for every incoming query.
For these reasons, I'm going to remove it from the `SyncUDPServer`
class in #2903. The performance reason is the strongest reason
because that's the main reason why we introduce `SyncUDPServer` in the
first place. For other classes, it does not do any harm other than
being a useless bottleneck, but when we have time it's better to clean
it up if only for clarity.
--
Ticket URL: <http://bind10.isc.org/ticket/2935>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list