Browse Source

[4497] Added Pkt method checking if retrieved options are copied.

Marcin Siodelski 8 years ago
parent
commit
b3f9652ddc
2 changed files with 11 additions and 0 deletions
  1. 9 0
      src/lib/dhcp/pkt.h
  2. 2 0
      src/lib/dhcp/tests/pkt4_unittest.cc

+ 9 - 0
src/lib/dhcp/pkt.h

@@ -307,6 +307,15 @@ public:
         copy_retrieved_options_ = copy;
     }
 
+    /// @brief Returns whether the copying of retrieved options is enabled.
+    ///
+    /// Also see @ref setCopyRetrievedOptions.
+    ///
+    /// @return true if retrieved options are copied.
+    bool isCopyRetrievedOptions() const {
+        return (copy_retrieved_options_);
+    }
+
     /// @brief Update packet timestamp.
     ///
     /// Updates packet timestamp. This method is invoked

+ 2 - 0
src/lib/dhcp/tests/pkt4_unittest.cc

@@ -625,6 +625,7 @@ TEST_F(Pkt4Test, setCopyRetrievedOptions) {
 
     // Now force copying the options when they are retrieved.
     pkt->setCopyRetrievedOptions(true);
+    EXPECT_TRUE(pkt->isCopyRetrievedOptions());
 
     // Option pointer returned must point to a new instance of option 2.
     OptionPtr option2_copy = pkt->getOption(2);
@@ -632,6 +633,7 @@ TEST_F(Pkt4Test, setCopyRetrievedOptions) {
 
     // Disable copying.
     pkt->setCopyRetrievedOptions(false);
+    EXPECT_FALSE(pkt->isCopyRetrievedOptions());
 
     // Expect that the original pointer is returned. This guarantees that
     // option1 wasn't affected by copying option 2.