[svn] commit: r1974 - in /branches/trac192/src/lib/datasrc: cache.cc cache.h tests/cache_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Sat May 29 02:56:03 UTC 2010


Author: each
Date: Sat May 29 02:56:03 2010
New Revision: 1974

Log:
checkpoint: added getCount() function

Modified:
    branches/trac192/src/lib/datasrc/cache.cc
    branches/trac192/src/lib/datasrc/cache.h
    branches/trac192/src/lib/datasrc/tests/cache_unittest.cc

Modified: branches/trac192/src/lib/datasrc/cache.cc
==============================================================================
--- branches/trac192/src/lib/datasrc/cache.cc (original)
+++ branches/trac192/src/lib/datasrc/cache.cc Sat May 29 02:56:03 2010
@@ -128,6 +128,12 @@
     return (slots_);
 }
 
+int
+HotCache::getCount()
+{
+    return (count_);
+}
+
 void
 HotCache::promote(CacheNodePtr node) {
     if (!node || node == head) {

Modified: branches/trac192/src/lib/datasrc/cache.h
==============================================================================
--- branches/trac192/src/lib/datasrc/cache.h (original)
+++ branches/trac192/src/lib/datasrc/cache.h Sat May 29 02:56:03 2010
@@ -30,7 +30,6 @@
 namespace isc {
 namespace datasrc {
 
-class HotCache;
 class CacheNode;
 
 typedef boost::shared_ptr<CacheNode> CacheNodePtr;
@@ -84,6 +83,7 @@
 
     void setSlots(int slots);
     int getSlots();
+    int getCount();
 
     // Pointers to the doubly-linked list of cache nodes
     CacheNodePtr head;

Modified: branches/trac192/src/lib/datasrc/tests/cache_unittest.cc
==============================================================================
--- branches/trac192/src/lib/datasrc/tests/cache_unittest.cc (original)
+++ branches/trac192/src/lib/datasrc/tests/cache_unittest.cc Sat May 29 02:56:03 2010
@@ -69,12 +69,19 @@
     HotCache cache;
 };
 
+TEST_F(CacheTest, slots) {
+    EXPECT_EQ(5, cache.getSlots());
+    EXPECT_EQ(3, cache.getCount());
+}
+
 TEST_F(CacheTest, insert)
 {
     RRsetPtr aaaa(new RRset(Name("foo"), RRClass::IN(), RRType::AAAA(),
                             RRTTL(0)));
     aaaa->addRdata(in::AAAA("001:4f8:3:bb::5"));
     cache.insert(aaaa, (time_t) 4);
+
+    EXPECT_EQ(4, cache.getCount());
 
     RRsetPtr r = cache.retrieve(Name("foo"), RRClass::IN(), RRType::AAAA());
     EXPECT_EQ(aaaa, r);
@@ -157,26 +164,31 @@
     // in the LRU queue this should remove all the previous records
     // except the last one retreived.
     RRsetPtr r = cache.retrieve(test_nsname, RRClass::IN(), RRType::NS());
+    EXPECT_EQ(3, cache.getCount());
 
     RRsetPtr one(new RRset(Name("one"), RRClass::IN(), RRType::TXT(),
                            RRTTL(0)));
     one->addRdata(generic::TXT("one"));
     cache.insert(one, (time_t) 30);
+    EXPECT_EQ(4, cache.getCount());
 
     RRsetPtr two(new RRset(Name("two"), RRClass::IN(), RRType::TXT(),
                            RRTTL(0)));
     two->addRdata(generic::TXT("two"));
     cache.insert(two, (time_t) 30);
+    EXPECT_EQ(5, cache.getCount());
 
     RRsetPtr three(new RRset(Name("three"), RRClass::IN(), RRType::TXT(),
                            RRTTL(0)));
     three->addRdata(generic::TXT("three"));
     cache.insert(three, (time_t) 30);
+    EXPECT_EQ(5, cache.getCount());
 
     RRsetPtr four(new RRset(Name("four"), RRClass::IN(), RRType::TXT(),
                            RRTTL(0)));
     four->addRdata(generic::TXT("four"));
     cache.insert(four, (time_t) 30);
+    EXPECT_EQ(5, cache.getCount());
 
     r = cache.retrieve(test_name, RRClass::IN(), RRType::A());
     EXPECT_FALSE(r);




More information about the bind10-changes mailing list