The server respects the Subnet Selection option when the RAI is present,
but it lacks the Link Selection option. Previously, if RAI existed, the
Subnet Selection option was ignored even if RAI lacked the Link Selection
option.
src/lib/util/tests/client_mt_unittests.cc
The test was modified to test that the majority
of requests are fulfilled by worker threads rather
than all of them.
This is needed for std::shared_ptr
GCC-11 throws errors if header is not included
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
util::NamedCallback replaced with CSCallbackPair
and absorbed into multi_threaded_mgr.*. This
replaces two discrete lists of callbacks with a
single list of named, callback pairs.
src/bin/dhcp4/dhcp4_srv.cc
Dhcpv4Srv::run() - added CS prior to MultiThreadingMgr:apply()
prior to exit
src/bin/dhcp6/dhcp6_srv.cc
Dhcpv6Srv::run() - added CS prior to MultiThreadingMgr:apply()
prior to exit
src/hooks/dhcp/high_availability/ha_service.*
HAService::startClientAndListener() - added call to register
CS callbacks
HAService::stopClientAndListener() - added call to remove CS
callbacks
src/hooks/dhcp/high_availability/tests/ha_mt_unittest.cc
Revamped to test CS callbacks rather than pause/resume directly.
src/lib/util/Makefile.am
Added named_callbacks.h/cc
src/lib/util/named_callback.cc
src/lib/util/named_callback.h
- new files that implement an ordered list of named callbacks
src/lib/util/multi_threading_mgr.*
MultiThreadingMgr::apply() - removes all CS callbacks when entering
single-threaded mode
MultiThreadingMgr::stopProcessing() - formerly stopPktProcessing, added
call to invoke CS exit callbacks
MultiThreadingMgr::startProcessing() - formerly startPktProcessing,
added call to invoke CS entry callbacks.
MultiThreadingMgr::addCriticalSectionCallbacks() - new method for
adding CS callbacks
MultiThreadingMgr::removeCriticalSectionCallbacks() - new method for
removing CS callbacks
MultiThreadingMgr::removeAllCriticalSectionCallbacks() - new method for
all CS callbacks
src/lib/util/tests/Makefile.am
Added named_callback_unittest.cc
src/lib/util/tests/named_callback_unittest.cc - tests for NamedCallback
classes
src/lib/util/tests/multi_threading_mgr_unittest.cc
CriticalSectionCallbackTest - new test fixture
TEST_F(CriticalSectionCallbackTest, basics) - new test
HttpThreadPool state changes are now synchronous.
src/lib/config/cmd_http_listener.cc
Minor updates
src/lib/config/tests/cmd_http_listener_unittests.cc
Revamped to use simplified command handling for
pause/resume testing.
src/lib/http/client.*
Minor updates
src/lib/http/http_thread_pool.*
HttpThreadPool::setRunState() is now synchronous, returning
only when all threads in the pool are in appropriate state
or have been destroyed.
Did away with SHUTDOWN state.
Changed RUN to RUNNING
src/lib/http/tests/http_thread_pool_unittests.cc
Revamped testing.
src/lib/http/tests/mt_client_unittests.cc
Revamped to use request handler handling for pause/resume testing