aboutsummaryrefslogtreecommitdiff
path: root/src/bloom.cpp
diff options
context:
space:
mode:
authorGavin Andresen <[email protected]>2013-02-26 07:30:37 -0800
committerGavin Andresen <[email protected]>2013-02-26 07:30:37 -0800
commit65497f4ee77166ba2a803c51893a4eb5a401fdb9 (patch)
treeacbd0f91b5aec585c6b5b48b986923be26cf30cf /src/bloom.cpp
parentMerge pull request #2186 from Diapolo/misc_stuff (diff)
parentShort-circuit bloom checking if we will always return true. (diff)
downloaddiscoin-65497f4ee77166ba2a803c51893a4eb5a401fdb9.tar.xz
discoin-65497f4ee77166ba2a803c51893a4eb5a401fdb9.zip
Merge pull request #2338 from TheBlueMatt/bloom
Short-circuit bloom checking if we will always return true.
Diffstat (limited to 'src/bloom.cpp')
-rw-r--r--src/bloom.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bloom.cpp b/src/bloom.cpp
index 36f5e5013..d9ec2efa8 100644
--- a/src/bloom.cpp
+++ b/src/bloom.cpp
@@ -37,6 +37,8 @@ inline unsigned int CBloomFilter::Hash(unsigned int nHashNum, const std::vector<
void CBloomFilter::insert(const vector<unsigned char>& vKey)
{
+ if (vData.size() == 1 && vData[0] == 0xff)
+ return;
for (unsigned int i = 0; i < nHashFuncs; i++)
{
unsigned int nIndex = Hash(i, vKey);
@@ -61,6 +63,8 @@ void CBloomFilter::insert(const uint256& hash)
bool CBloomFilter::contains(const vector<unsigned char>& vKey) const
{
+ if (vData.size() == 1 && vData[0] == 0xff)
+ return true;
for (unsigned int i = 0; i < nHashFuncs; i++)
{
unsigned int nIndex = Hash(i, vKey);