Removed RCV_ prefix from WatchedThread::WatchtType members
Scrubbed WatchedThread source for lingering packet/receiver comments
Adjusted test wait times
doc/guide/congestion-handling.xml
Added subsections to Congestion Handling chapter
src/lib/dhcp/iface_mgr.*
Removed Receiver class, replaced with new class lib::util::thread::WatchedThread
Renamed IfaceMgr::receiver_ to dhcp_receiver
Renamed add_fd to addFDtoSet
src/lib/dhcp/packet_queue_mgr.h
PacketQueueMgr::unregisterFactory() - destroys queue instance
if it matches type being unregistered
New files:
src/lib/util/threads/
watched_thread.h
watched_thread.cc
[#260,!120] Moved thread creation from Receiver ctor to new start function
dhcp::Receiver - moved creating receiver's thread out of the constructor
to new Receier::start() method. This alleviates issues with thread worker
functions referring to Receiver members before Receiver fully exists.
[#260,!120] Removed Mutexing from IfaceMgr, PacketQueue must now be thread-safe
Removed Mutexing from IfaceMgr, added it to default kea packet queue
implementations. PacketQueue derivations are required to be thread-safe,
thus leaving upto implementers to choose how.
[#260,!120] Extracted IfaceMgr thread bits into new class, isc::dhcp::Receiver
src/lib/dhcp/iface_mgr.*
Extracted the thread, watch sockets, mutex, and error message members
from IfaceMgr and wrapped them in a new class, isc:dhcp::Receiver.
IfaceMgr::add_fd(int fd, int& maxfd, fd_set* sockets) - new
convenience method for adding descriptors to fd_set(s)
src/lib/dhcp/tests/iface_mgr_unittest.cc
class ReceiverTest - new test fixture
TEST_F(ReceiverTest, receiverClassBasics) - new unit test
src/lib/dhcp/iface_mgr.*
IfaceMgr
- closeSockets() - now calls stopDHCPReceiver
- openSockets<4/6>() - now calls startDHCPReceiver
- receive<4/6>Indirect() - new function which monitors receiver
thread watch sockets, reads DHCP packets from queue
- receive<4/6>Direct() - new function which monitors and reads DHCP
packets from interface sockets directly
- receive<4/6>() - rewritten to call receive<4/6>Indirect
if receiver thread is running, otherwise it calls receive<4/6>Direct
- configureDHCPPacketQueue() - new function which either enables queuing
by creating a new packet queue, or disables it by destroying the
existing queue
src/lib/dhcp/packet_queue_mgr.h
PacketQueue::destroyPacketQueue() - new function
src/lib/dhcp/packet_queue_mgr<4/6>.cc
PacketQueueMgr<4/6>::PacketQueueMgr<4/6>() - no longer creates a
default packet queue
src/lib/dhcpsrv/cfg_iface.cc
CfgIface::closeSockets() - removed call to stopDHCPReceiver
CfgIface::openSockets() - removed call to startDHCPReceiver
src/lib/dhcpsrv/parsers/dhcp_queue_control_parser.*
DHCPQueueControlParser
- removed unused family_ member
- parse() - added support for enable-queue
src/lib/dhcpsrv/tests/dhcp_queue_control_parser_unittest.cc
- new file
src/lib/dhcp/iface_mgr.*
IfaceMgr
- closeSockets() - now calls stopDHCPReceiver
- openSockets<4/6>() - now calls startDHCPReceiver
- receive<4/6>Indirect() - new function which monitors receiver
thread watch sockets, reads DHCP packets from queue
- receive<4/6>Direct() - new function which monitors and reads DHCP
packets from interface sockets directly
- receive<4/6>() - rewritten to call receive<4/6>Indirect
if receiver thread is running, otherwise it calls receive<4/6>Direct
- configureDHCPPacketQueue() - new function which either enables queuing
by creating a new packet queue, or disables it by destroying the
existing queue
src/lib/dhcp/packet_queue_mgr.h
PacketQueue::destroyPacketQueue() - new function
src/lib/dhcp/packet_queue_mgr<4/6>.cc
PacketQueueMgr<4/6>::PacketQueueMgr<4/6>() - no longer creates a
default packet queue
src/lib/dhcpsrv/cfg_iface.cc
CfgIface::closeSockets() - removed call to stopDHCPReceiver
CfgIface::openSockets() - removed call to startDHCPReceiver
src/lib/dhcpsrv/parsers/dhcp_queue_control_parser.*
DHCPQueueControlParser
- removed unused family_ member
- parse() - added support for enable-queue
src/lib/dhcpsrv/tests/dhcp_queue_control_parser_unittest.cc
- new file
Vicky Risk [Thu, 15 Nov 2018 02:29:09 +0000 (21:29 -0500)]
Update unit-tests.dox to replace reference to oldkea.isc.org
@section unitTestsIntroduction Introduction
Kea uses the Google C++ Testing Framework (also called googletest or gtest) as a
base for our C++ unit-tests. See https://github.com/google/googletest for
details. We used to have Python unit-tests inherited from BIND10
days but have been removed, so please do not write any new Kea unit
tests in Python. If you want to write DHCP tests in Python, we encourage you to
take a look at ISC Forge: http://oldkea.isc.org/wiki/IscForge .
You must have \c gtest installed or at least extracted in a directory
before compiling Kea unit-tests. To enable unit-tests in Kea, use: