From: Mukund Sivaraman Date: Wed, 19 Sep 2012 06:34:36 +0000 (+0530) Subject: [2218] Make DomainNode::isSubTreeRoot() a public function X-Git-Tag: trac2351_base~37^2~1^2~13^2~22^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60c7cde711da05825672e5b8601ff596993a030b;p=thirdparty%2Fkea.git [2218] Make DomainNode::isSubTreeRoot() a public function This will be required for finding whether a hash is less than, or greater than all nodes in the origin's subtree in an NSEC3 tree. --- diff --git a/src/lib/datasrc/memory/domaintree.h b/src/lib/datasrc/memory/domaintree.h index 4c4de93d6e..945de448bb 100644 --- a/src/lib/datasrc/memory/domaintree.h +++ b/src/lib/datasrc/memory/domaintree.h @@ -373,11 +373,17 @@ private: } } +public: + /// \brief returns if the node is a subtree's root node + /// + /// This method takes a node and returns \c true if it is the root + /// node of the subtree it belongs to. + /// + /// This method never throws an exception. bool isSubTreeRoot() const { return ((flags_ & FLAG_SUBTREE_ROOT) != 0); } -public: /// \brief returns the parent of the root of its subtree /// /// This method takes a node and returns the parent of the root of diff --git a/src/lib/datasrc/memory/tests/domaintree_unittest.cc b/src/lib/datasrc/memory/tests/domaintree_unittest.cc index ef900509a5..bb322bc5d3 100644 --- a/src/lib/datasrc/memory/tests/domaintree_unittest.cc +++ b/src/lib/datasrc/memory/tests/domaintree_unittest.cc @@ -257,7 +257,7 @@ TEST_F(DomainTreeTest, subTreeRoot) { // "g.h" is not a subtree root EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("g.h"), &dtnode)); - EXPECT_FALSE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_FALSE(dtnode->isSubTreeRoot()); // fission the node "g.h" EXPECT_EQ(TestDomainTree::ALREADYEXISTS, @@ -266,12 +266,12 @@ TEST_F(DomainTreeTest, subTreeRoot) { // the node "h" (h.down_ -> "g") should not be a subtree root. "g" // should be a subtree root. - EXPECT_FALSE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_FALSE(dtnode->isSubTreeRoot()); // "g.h" should be a subtree root now. EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("g.h"), &dtnode)); - EXPECT_TRUE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_TRUE(dtnode->isSubTreeRoot()); } TEST_F(DomainTreeTest, additionalNodeFission) { @@ -287,7 +287,7 @@ TEST_F(DomainTreeTest, additionalNodeFission) { // "t.0" is not a subtree root EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("t.0"), &dtnode)); - EXPECT_FALSE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_FALSE(dtnode->isSubTreeRoot()); // fission the node "t.0" EXPECT_EQ(TestDomainTree::ALREADYEXISTS, @@ -296,12 +296,12 @@ TEST_F(DomainTreeTest, additionalNodeFission) { // the node "0" ("0".down_ -> "t") should not be a subtree root. "t" // should be a subtree root. - EXPECT_FALSE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_FALSE(dtnode->isSubTreeRoot()); // "t.0" should be a subtree root now. EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("t.0"), &dtnode)); - EXPECT_TRUE(dtnode->getFlag(TestDomainTreeNode::FLAG_SUBTREE_ROOT)); + EXPECT_TRUE(dtnode->isSubTreeRoot()); } TEST_F(DomainTreeTest, findName) {