BIND 10 #1238: IfaceMgr support for IPv4 (incl. Socket binding for v4)
BIND 10 Development
do-not-reply at isc.org
Tue Dec 6 18:57:12 UTC 2011
#1238: IfaceMgr support for IPv4 (incl. Socket binding for v4)
-------------------------------------+-------------------------------------
Reporter: | Owner: tomek
stephen | Status: reviewing
Type: task | Milestone: Sprint-
Priority: major | DHCP-20111207
Component: dhcp4 | Resolution:
Keywords: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DHCP
Feature Depending on Ticket: | Estimated Difficulty: 0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by stephen):
* owner: stephen => tomek
Comment:
Reviewed commit 660cf410c0fb41587b977df992879f5dff934c19.
A couple of minor points and one more major.
'''src/bin/dhcp6/tests/dhcp6_srv_unittest.cc'''[[BR]]
"basic" test: "Dhcp6Srv * srv" should be "Dhcp6* srv".
"basic" test: There is no need to check for src being non-null before
calling delete; if it is null, the delete call will be a no-op.
"Solicit_basic" test: "100+i" should be "100 + i".
'''src/bin/dhcp6/iface_mgr.cc'''[[BR]]
delAddress(): The "return" statement could be simplified to "return
(addrs_.size() < size);"
>> openSocket4/6(): This is declared to return uint16_t, but it returns
the "sock" variable which is (correctly) declared "int" (the return type
of socket()).
> It was pointed out in #1282 that uint16_t should be used. Signed int is
used to indicate errors, but we handle this with exceptions. My
understanding is that the we can use uint16_t or uint32_t here. Jelte
pointed out that uint16_t should be used, so I'm doing that.
#1282 says that IfaceMgr::openSocket '''takes''' int, should be uint16_t.
That is true because an imput parameter is a port number, which is an
unsigned 16-bit integer. However, it returns a Unix file descriptor,
which is an "int". (From [http://en.wikipedia.org/wiki/File_descriptor
Wikipedia]: "In POSIX, a file descriptor is an integer, specifically of
the C type int.") socket(), open(), creat() - all functions that return a
file descriptor - return an int. Even if we signal errors by throwing
exceptions, we should use "int" for file descriptors.
--
Ticket URL: <http://bind10.isc.org/ticket/1238#comment:10>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list