From: Amos Jeffries Date: Thu, 5 Nov 2015 18:23:13 +0000 (-0800) Subject: Convert add/remove functions to methods X-Git-Tag: SQUID_4_0_3~18^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fbba122c621219122f78bfef23e0581a77552591;p=thirdparty%2Fsquid.git Convert add/remove functions to methods --- diff --git a/src/CacheDigest.cc b/src/CacheDigest.cc index 6811359d00..7ea910791b 100644 --- a/src/CacheDigest.cc +++ b/src/CacheDigest.cc @@ -106,54 +106,54 @@ CacheDigest::test(const cache_key * key) const } void -cacheDigestAdd(CacheDigest * cd, const cache_key * key) +CacheDigest::add(const cache_key * key) { - assert(cd && key); + assert(key); /* hash */ - cacheDigestHashKey(cd, key); + cacheDigestHashKey(this, key); /* turn on corresponding bits */ #if CD_FAST_ADD - CBIT_SET(cd->mask, hashed_keys[0]); - CBIT_SET(cd->mask, hashed_keys[1]); - CBIT_SET(cd->mask, hashed_keys[2]); - CBIT_SET(cd->mask, hashed_keys[3]); + CBIT_SET(mask, hashed_keys[0]); + CBIT_SET(mask, hashed_keys[1]); + CBIT_SET(mask, hashed_keys[2]); + CBIT_SET(mask, hashed_keys[3]); #else { int on_xition_cnt = 0; - if (!CBIT_TEST(cd->mask, hashed_keys[0])) { - CBIT_SET(cd->mask, hashed_keys[0]); + if (!CBIT_TEST(mask, hashed_keys[0])) { + CBIT_SET(mask, hashed_keys[0]); ++on_xition_cnt; } - if (!CBIT_TEST(cd->mask, hashed_keys[1])) { - CBIT_SET(cd->mask, hashed_keys[1]); + if (!CBIT_TEST(mask, hashed_keys[1])) { + CBIT_SET(mask, hashed_keys[1]); ++on_xition_cnt; } - if (!CBIT_TEST(cd->mask, hashed_keys[2])) { - CBIT_SET(cd->mask, hashed_keys[2]); + if (!CBIT_TEST(mask, hashed_keys[2])) { + CBIT_SET(mask, hashed_keys[2]); ++on_xition_cnt; } - if (!CBIT_TEST(cd->mask, hashed_keys[3])) { - CBIT_SET(cd->mask, hashed_keys[3]); + if (!CBIT_TEST(mask, hashed_keys[3])) { + CBIT_SET(mask, hashed_keys[3]); ++on_xition_cnt; } statCounter.cd.on_xition_count.count(on_xition_cnt); } #endif - ++ cd->count; + ++count; } void -cacheDigestDel(CacheDigest * cd, const cache_key * key) +CacheDigest::remove(const cache_key * key) { - assert(cd && key); - ++ cd->del_count; + assert(key); + ++del_count; /* we do not support deletions from the digest */ } diff --git a/src/CacheDigest.h b/src/CacheDigest.h index 46798a1742..2611d7ceac 100644 --- a/src/CacheDigest.h +++ b/src/CacheDigest.h @@ -34,6 +34,9 @@ public: /// changes mask size to fit newCapacity, resets bits to 0 void updateCapacity(int newCapacity); + void add(const cache_key * key); + void remove(const cache_key * key); + /// \returns true if the key belongs to the digest bool test(const cache_key * key) const; @@ -51,8 +54,6 @@ public: int del_count; /* number of deletions performed so far */ }; -void cacheDigestAdd(CacheDigest * cd, const cache_key * key); -void cacheDigestDel(CacheDigest * cd, const cache_key * key); int cacheDigestBitUtil(const CacheDigest * cd); void cacheDigestGuessStatsUpdate(CacheDigestGuessStats * stats, int real_hit, int guess_hit); void cacheDigestGuessStatsReport(const CacheDigestGuessStats * stats, StoreEntry * sentry, const char *label); diff --git a/src/store_digest.cc b/src/store_digest.cc index c6b95a2ed0..a7c8f37b11 100644 --- a/src/store_digest.cc +++ b/src/store_digest.cc @@ -152,7 +152,7 @@ storeDigestDel(const StoreEntry * entry) debugs(71, 6, "storeDigestDel: lost entry, key: " << entry->getMD5Text() << " url: " << entry->url() ); } else { ++sd_stats.del_count; - cacheDigestDel(store_digest, (const cache_key *)entry->key); + store_digest->remove(static_cast(entry->key)); debugs(71, 6, "storeDigestDel: deled entry, key: " << entry->getMD5Text()); } } @@ -257,7 +257,7 @@ storeDigestAdd(const StoreEntry * entry) if (store_digest->test(static_cast(entry->key))) ++sd_stats.add_coll_count; - cacheDigestAdd(store_digest, (const cache_key *)entry->key); + store_digest->add(static_cast(entry->key)); debugs(71, 6, "storeDigestAdd: added entry, key: " << entry->getMD5Text()); } else { diff --git a/src/test_cache_digest.cc b/src/test_cache_digest.cc index 1972b777d3..1f22d3a71a 100644 --- a/src/test_cache_digest.cc +++ b/src/test_cache_digest.cc @@ -262,7 +262,7 @@ cacheResetDigest(Cache * cache) hash_first(hash); while ((e = (CacheEntry *)hash_next(hash))) { - cacheDigestAdd(cache->digest, e->key); + cache->digest->add(e->key); } gettimeofday(&t_end, NULL); @@ -470,7 +470,7 @@ cachePurge(Cache * cache, storeSwapLogData * s, int update_digest) hash_remove_link(cache->hash, (hash_link *) olde); if (update_digest) - cacheDigestDel(cache->digest, s->key); + cache->digest->remove(s->key); cacheEntryDestroy(olde); @@ -491,7 +491,7 @@ cacheStore(Cache * cache, storeSwapLogData * s, int update_digest) ++ cache->count; if (update_digest) - cacheDigestAdd(cache->digest, e->key); + cache->digest->add(e->key); } } diff --git a/src/tests/stub_CacheDigest.cc b/src/tests/stub_CacheDigest.cc index f41a85ce6b..3a615d149d 100644 --- a/src/tests/stub_CacheDigest.cc +++ b/src/tests/stub_CacheDigest.cc @@ -23,8 +23,8 @@ CacheDigest *CacheDigest::clone() const STUB_RETVAL(nullptr) void CacheDigest::clear() STUB void CacheDigest::updateCapacity(int) STUB bool CacheDigest::test(const cache_key *) const STUB_RETVAL(false) -void cacheDigestAdd(CacheDigest *, const cache_key *) STUB -void cacheDigestDel(CacheDigest *, const cache_key *) STUB +void CacheDigest::add(const cache_key *) STUB +void CacheDigest::remove(const cache_key *) STUB int cacheDigestBitUtil(const CacheDigest *) STUB_RETVAL(0) void cacheDigestGuessStatsUpdate(CacheDigestGuessStats *, int, int) STUB void cacheDigestGuessStatsReport(const CacheDigestGuessStats *, StoreEntry *, const char *) STUB