[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