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;
70 CBloomFilter(
unsigned int nElements,
double nFPRate,
unsigned int nTweak,
unsigned char nFlagsIn);
75 template <
typename Stream,
typename Operation>
76 inline void SerializationOp(Stream& s, Operation ser_action,
int nType,
int nVersion) {
83 void insert(
const std::vector<unsigned char>& vKey);
87 bool contains(
const std::vector<unsigned char>& vKey)
const;
92 void reset(
unsigned int nNewTweak);
124 void insert(
const std::vector<unsigned char>& vKey);
126 bool contains(
const std::vector<unsigned char>& vKey)
const;
138 #endif // BITCOIN_BLOOM_H
bool IsWithinSizeConstraints() const
static const unsigned int MAX_BLOOM_FILTER_SIZE
20,000 items with fp rate < 0.1% or 10,000 items and <0.0001%
void SerializationOp(Stream &s, Operation ser_action, int nType, int nVersion)
bool contains(const std::vector< unsigned char > &vKey) const
void insert(const std::vector< unsigned char > &vKey)
void UpdateEmptyFull()
Checks for empty and full filters to avoid wasting cpu.
unsigned int Hash(unsigned int nHashNum, const std::vector< unsigned char > &vDataToHash) const
static const unsigned int MAX_HASH_FUNCS
bool IsRelevantAndUpdate(const CTransaction &tx)
Also adds any outputs which match the filter to the filter (to match their spending txes) ...
void reset(unsigned int nNewTweak)
std::vector< unsigned char > vData