5 #ifndef BITCOIN_BLOOM_H 6 #define BITCOIN_BLOOM_H 47 std::vector<unsigned char>
vData;
54 unsigned int Hash(
unsigned int nHashNum,
const std::vector<unsigned char>& vDataToHash)
const;
66 CBloomFilter(
const unsigned int nElements,
const double nFPRate,
const unsigned int nTweak,
unsigned char nFlagsIn);
71 template <
typename Stream,
typename Operation>
79 void insert(
const std::vector<unsigned char>& vKey);
83 bool contains(
const std::vector<unsigned char>& vKey)
const;
88 void reset(
const unsigned int nNewTweak);
123 void insert(
const std::vector<unsigned char>& vKey);
125 bool contains(
const std::vector<unsigned char>& vKey)
const;
139 #endif // BITCOIN_BLOOM_H unsigned int nHashFuncs
Definition: bloom.h:50
void reset(const unsigned int nNewTweak)
Definition: bloom.cpp:112
bloomflags
Definition: bloom.h:24
bool IsWithinSizeConstraints() const
Definition: bloom.cpp:118
ADD_SERIALIZE_METHODS
Definition: bloom.h:69
static const unsigned int MAX_BLOOM_FILTER_SIZE
20,000 items with fp rate < 0.1% or 10,000 items and <0.0001%
Definition: bloom.h:17
bool contains(const std::vector< unsigned char > &vKey) const
Definition: bloom.cpp:75
void insert(const std::vector< unsigned char > &vKey)
Definition: bloom.cpp:48
bool isFull
Definition: bloom.h:48
void UpdateEmptyFull()
Checks for empty and full filters to avoid wasting cpu.
Definition: bloom.cpp:193
unsigned int nTweak
Definition: bloom.h:51
Definition: transaction.h:270
Definition: transaction.h:18
CBloomFilter()
Definition: bloom.h:67
unsigned int Hash(unsigned int nHashNum, const std::vector< unsigned char > &vDataToHash) const
Definition: bloom.cpp:42
static const unsigned int MAX_HASH_FUNCS
Definition: bloom.h:18
Definition: uint256.h:121
bool IsRelevantAndUpdate(const CTransaction &tx)
Also adds any outputs which match the filter to the filter (to match their spending txes)
Definition: bloom.cpp:123
bool isEmpty
Definition: bloom.h:49
void SerializationOp(Stream &s, Operation ser_action)
Definition: bloom.h:72
unsigned char nFlags
Definition: bloom.h:52
void clear()
Definition: bloom.cpp:105
#define READWRITE(...)
Definition: serialize.h:184
std::vector< unsigned char > vData
Definition: bloom.h:47