BIND 10 #805: Client side code to request new sockets (C++)
BIND 10 Development
do-not-reply at isc.org
Tue Jan 3 07:56:00 UTC 2012
#805: Client side code to request new sockets (C++)
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
stephen | Status: reviewing
Type: | Milestone:
enhancement | Sprint-20120110
Priority: | Resolution:
blocker | Sensitive: 0
Component: | Sub-Project: DNS
Unclassified | Estimated Difficulty: 5
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Socket creator |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Not sure if it still helps, but I'm dumping what I've noted about the
branch. It's only for asiodns changes.
'''asiodns'''
- The 'v6' parameter seems to be ad hoc. I suspect it's also less
usable for the caller, because the caller needs to identify which
version of IP it is passing just like you indeed did in
portconfig.cc:setAddresses:
{{{#!c++
bool is_v6(IOAddress(address.first).getFamily() == AF_INET6);
}}}
I'd rather pass opaque ID of the address family (in practice it
would be an integer and either AF_INET or AF_INET6) and keep the
caller agnostic about the address-IPversion mapping...and, on
further thought, I guess it makes more sense to have the boss
process return to the requestor the information of the family as
well as 'token' and 'path', and have requestor return it as part of
the return value of requestSocket(). After all, the boss process is
the one that necessarily interprets the address so it would make
most sense if we centralize the mapping processing there.
- Don't we need a log message when adding a server?
- dns_service.h: we need parameter descriptions of addServerXXX. Also
note about possible exceptions (if any).
- addServerFromFD: we need to catch asio specific exceptions and
convert them to IOError, etc. We also need to test it (as the fact
that I have to point it out seems to indicate there's no test for
it).
- The naming of addServerTCP and addServerUDP is not very intuitive in
that they don't indicate we are creating a server object from an FD.
Maybe something like add{TCP,UDP}ServerFromFD()?
--
Ticket URL: <http://bind10.isc.org/ticket/805#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list