From: Tomek Mrugalski Date: Wed, 10 Oct 2018 12:31:24 +0000 (+0200) Subject: [#30,!37] Changes after review X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d38c62e09b2d1311196397cfcb1b967f147f3a74;p=thirdparty%2Fkea.git [#30,!37] Changes after review --- diff --git a/src/bin/d2/d2_process.cc b/src/bin/d2/d2_process.cc index b76bdd368a..9ac6f07113 100644 --- a/src/bin/d2/d2_process.cc +++ b/src/bin/d2/d2_process.cc @@ -14,6 +14,7 @@ #include using namespace isc::process; +using namespace isc::config; namespace isc { namespace d2 { @@ -225,7 +226,7 @@ D2Process::configure(isc::data::ConstElementPtr config_set, bool check_only) { staging_socket = getD2CfgMgr()->getControlSocketInfo(); configureCommandChannel(current_socket, staging_socket); } catch (const isc::Exception& ex) { - answer = isc::config::createAnswer(2, ex.what()); + answer = isc::config::createAnswer(CONTROL_RESULT_ERROR, ex.what()); return (answer); } @@ -250,25 +251,25 @@ D2Process::configure(isc::data::ConstElementPtr config_set, bool check_only) { void D2Process::configureCommandChannel(isc::data::ConstElementPtr current_cfg, - isc::data::ConstElementPtr staging_cfg) { + isc::data::ConstElementPtr socket_info) { // Determine if the socket configuration has changed. It has if // both old and new configuration is specified but respective // data elements aren't equal. bool sock_changed = (current_cfg && (current_cfg->size() > 0) && - staging_cfg && (staging_cfg->size() > 0) && - !staging_cfg->equals(*current_cfg)); + socket_info && (socket_info->size() > 0) && + !socket_info->equals(*current_cfg)); if (current_cfg && (current_cfg->size() > 0) && - (!staging_cfg || (staging_cfg->size() == 0) || sock_changed)) { + (!socket_info || (socket_info->size() == 0) || sock_changed)) { // Close the existing socket. isc::config::CommandMgr::instance().closeCommandSocket(); } - if (staging_cfg && (staging_cfg->size() > 0) && + if (socket_info && (socket_info->size() > 0) && (!current_cfg || (current_cfg->size() == 0) || sock_changed)) { // Assume that CommandMgr works with D2 I/O. D2ControllerPtr ctrl = boost::dynamic_pointer_cast(D2Controller::instance()); ctrl->registerCommands(); - isc::config::CommandMgr::instance().openCommandSocket(staging_cfg, true); + isc::config::CommandMgr::instance().openCommandSocket(socket_info, true); } } diff --git a/src/bin/d2/d2_process.h b/src/bin/d2/d2_process.h index bd739f5483..4c03ee8379 100644 --- a/src/bin/d2/d2_process.h +++ b/src/bin/d2/d2_process.h @@ -257,9 +257,9 @@ protected: /// @brief Configure the command channel. /// /// @param current_cfg current configuration of the control socket. - /// @param staging_cfg staging configuration of the control socket. + /// @param socket_info parameters of the control socket. void configureCommandChannel(isc::data::ConstElementPtr current_cfg, - isc::data::ConstElementPtr staging_cfg); + isc::data::ConstElementPtr socket_info); public: /// @brief Returns a pointer to the configuration manager. diff --git a/src/bin/d2/tests/d2_command_unittest.cc b/src/bin/d2/tests/d2_command_unittest.cc index a72c0049fd..d45b69e0b0 100644 --- a/src/bin/d2/tests/d2_command_unittest.cc +++ b/src/bin/d2/tests/d2_command_unittest.cc @@ -445,7 +445,7 @@ TEST_F(CtrlChannelD2Test, configure) { int status = 0; ConstElementPtr txt = parseAnswer(status, answer); - EXPECT_EQ(2, status); + EXPECT_EQ(1, status); ASSERT_TRUE(txt); ASSERT_EQ(Element::string, txt->getType()); EXPECT_EQ("Mandatory 'socket-type' parameter missing", txt->stringValue()); @@ -471,7 +471,7 @@ TEST_F(CtrlChannelD2Test, configure) { status = 0; txt = parseAnswer(status, answer); - EXPECT_EQ(2, status); + EXPECT_EQ(1, status); ASSERT_TRUE(txt); ASSERT_EQ(Element::string, txt->getType()); EXPECT_EQ("Invalid 'socket-type' parameter value bogus", @@ -497,7 +497,7 @@ TEST_F(CtrlChannelD2Test, configure) { status = 0; txt = parseAnswer(status, answer); - EXPECT_EQ(2, status); + EXPECT_EQ(1, status); ASSERT_TRUE(txt); ASSERT_EQ(Element::string, txt->getType()); EXPECT_EQ("Mandatory 'socket-name' parameter missing",