Browse Source

naming conventions changed

cl-refactor
Vlad Gluhovsky 10 years ago
parent
commit
c449a648b4
  1. 4
      libwhisper/BloomFilter.cpp
  2. 12
      libwhisper/BloomFilter.h
  3. 5
      libwhisper/Common.cpp
  4. 2
      libwhisper/Common.h
  5. 4
      libwhisper/WhisperHost.cpp
  6. 28
      test/libwhisper/bloomFilter.cpp

4
libwhisper/BloomFilter.cpp

@ -27,7 +27,7 @@ using namespace dev::shh;
static unsigned const c_mask[] = { 1, 2, 4, 8, 16, 32, 64, 128 };
void TopicBloomFilter::add(AbridgedTopic const& _h)
void TopicBloomFilter::addRaw(AbridgedTopic const& _h)
{
*this |= _h;
for (unsigned i = 0; i < CounterSize; ++i)
@ -43,7 +43,7 @@ void TopicBloomFilter::add(AbridgedTopic const& _h)
}
}
void TopicBloomFilter::remove(AbridgedTopic const& _h)
void TopicBloomFilter::removeRaw(AbridgedTopic const& _h)
{
for (unsigned i = 0; i < CounterSize; ++i)
if (isBitSet(_h, i))

12
libwhisper/BloomFilter.h

@ -34,19 +34,21 @@ public:
TopicBloomFilter() { init(); }
TopicBloomFilter(AbridgedTopic const& _h): AbridgedTopic(_h) { init(); }
void addBloom(AbridgedTopic const& _h) { add(_h.template bloomPart<BitsPerBloom, 4>()); }
void removeBloom(AbridgedTopic const& _h) { remove(_h.template bloomPart<BitsPerBloom, 4>()); }
void add(AbridgedTopic const& _h);
void remove(AbridgedTopic const& _h);
void addBloom(AbridgedTopic const& _h) { addRaw(_h.template bloomPart<BitsPerBloom, 4>()); }
void removeBloom(AbridgedTopic const& _h) { removeRaw(_h.template bloomPart<BitsPerBloom, 4>()); }
bool containsBloom(AbridgedTopic const& _h) const { return contains(_h.template bloomPart<BitsPerBloom, 4>()); }
void addRaw(AbridgedTopic const& _h);
void removeRaw(AbridgedTopic const& _h);
bool containsRaw(AbridgedTopic const& _h) const { return contains(_h); }
enum { BitsPerBloom = 3 };
private:
void init() { for (unsigned i = 0; i < CounterSize; ++i) m_refCounter[i] = 0; }
static bool isBitSet(AbridgedTopic const& _h, unsigned _index);
enum { CounterSize = 8 * AbridgedTopic::size };
enum { CounterSize = 8 * TopicBloomFilter::size };
std::array<uint16_t, CounterSize> m_refCounter;
};

5
libwhisper/Common.cpp

@ -22,6 +22,7 @@
#include "Common.h"
#include <libdevcore/SHA3.h>
#include "Message.h"
#include "BloomFilter.h"
using namespace std;
using namespace dev;
@ -94,12 +95,12 @@ TopicFilter::TopicFilter(RLP const& _r)
}
}
AbridgedTopic TopicFilter::exportBloomFilter() const
AbridgedTopic TopicFilter::exportBloom() const
{
AbridgedTopic ret;
for (TopicMask const& t: m_topicMasks)
for (auto i: t)
ret |= i.first;
ret |= i.first.template bloomPart<TopicBloomFilter::BitsPerBloom, TopicBloomFilter::size>();
return ret;
}

2
libwhisper/Common.h

@ -105,7 +105,7 @@ public:
void streamRLP(RLPStream& _s) const { _s << m_topicMasks; }
h256 sha3() const;
bool matches(Envelope const& _m) const;
AbridgedTopic exportBloomFilter() const;
AbridgedTopic exportBloom() const;
private:
TopicMasks m_topicMasks;

4
libwhisper/WhisperHost.cpp

@ -113,7 +113,7 @@ unsigned WhisperHost::installWatch(shh::Topics const& _t)
if (!m_filters.count(h))
m_filters.insert(make_pair(h, f));
m_bloom.add(f.filter.exportBloomFilter());
m_bloom.addRaw(f.filter.exportBloom());
return installWatchOnId(h);
}
@ -153,7 +153,7 @@ void WhisperHost::uninstallWatch(unsigned _i)
auto fit = m_filters.find(id);
if (fit != m_filters.end())
{
m_bloom.remove(fit->second.filter.exportBloomFilter());
m_bloom.removeRaw(fit->second.filter.exportBloom());
if (!--fit->second.refCount)
m_filters.erase(fit);
}

28
test/libwhisper/bloomFilter.cpp

@ -29,16 +29,16 @@ using namespace dev::shh;
void testAddNonExisting(TopicBloomFilter& _f, AbridgedTopic const& _h)
{
BOOST_REQUIRE(!_f.contains(_h));
_f.add(_h);
BOOST_REQUIRE(_f.contains(_h));
BOOST_REQUIRE(!_f.containsRaw(_h));
_f.addRaw(_h);
BOOST_REQUIRE(_f.containsRaw(_h));
}
void testRemoveExisting(TopicBloomFilter& _f, AbridgedTopic const& _h)
{
BOOST_REQUIRE(_f.contains(_h));
_f.remove(_h);
BOOST_REQUIRE(!_f.contains(_h));
BOOST_REQUIRE(_f.containsRaw(_h));
_f.removeRaw(_h);
BOOST_REQUIRE(!_f.containsRaw(_h));
}
void testAddNonExistingBloom(TopicBloomFilter& _f, AbridgedTopic const& _h)
@ -110,9 +110,9 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(f.contains(b00110110));
BOOST_REQUIRE(f.contains(b00110111));
f.remove(b00000001);
f.remove(b00000001);
f.remove(b00000001);
f.removeRaw(b00000001);
f.removeRaw(b00000001);
f.removeRaw(b00000001);
BOOST_REQUIRE(!f.contains(b00000001));
BOOST_REQUIRE(f.contains(b00010000));
BOOST_REQUIRE(f.contains(b00011000));
@ -123,7 +123,7 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(f.contains(b00110110));
BOOST_REQUIRE(!f.contains(b00110111));
f.remove(b00010000);
f.removeRaw(b00010000);
BOOST_REQUIRE(!f.contains(b00000001));
BOOST_REQUIRE(f.contains(b00010000));
BOOST_REQUIRE(f.contains(b00011000));
@ -134,7 +134,7 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(f.contains(b00110110));
BOOST_REQUIRE(!f.contains(b00110111));
f.remove(b00111000);
f.removeRaw(b00111000);
BOOST_REQUIRE(!f.contains(b00000001));
BOOST_REQUIRE(f.contains(b00010000));
BOOST_REQUIRE(!f.contains(b00011000));
@ -145,7 +145,7 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(f.contains(b00110110));
BOOST_REQUIRE(!f.contains(b00110111));
f.add(b00000001);
f.addRaw(b00000001);
BOOST_REQUIRE(f.contains(b00000001));
BOOST_REQUIRE(f.contains(b00010000));
BOOST_REQUIRE(!f.contains(b00011000));
@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(f.contains(b00110110));
BOOST_REQUIRE(f.contains(b00110111));
f.remove(b00110111);
f.removeRaw(b00110111);
BOOST_REQUIRE(!f.contains(b00000001));
BOOST_REQUIRE(f.contains(b00010000));
BOOST_REQUIRE(!f.contains(b00011000));
@ -167,7 +167,7 @@ BOOST_AUTO_TEST_CASE(bloomFilterRaw)
BOOST_REQUIRE(!f.contains(b00110110));
BOOST_REQUIRE(!f.contains(b00110111));
f.remove(b00110111);
f.removeRaw(b00110111);
BOOST_REQUIRE(!f.contains(b00000001));
BOOST_REQUIRE(!f.contains(b00010000));
BOOST_REQUIRE(!f.contains(b00011000));

Loading…
Cancel
Save