aboutsummaryrefslogtreecommitdiff
path: root/src/bloom.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename IMPLEMENT_SERIALIZE to ADD_SERIALIZE_METHODSPieter Wuille2014-09-021-1/+1
|
* Merge pull request #4737Pieter Wuille2014-09-011-3/+5
|\ | | | | | | | | | | | | 31e9a83 Use CSizeComputer to avoid counting sizes in SerializationOp (Pieter Wuille) 84881f8 rework overhauled serialization methods to non-static (Kamil Domanski) 5d96b4a remove fields of ser_streamplaceholder (Kamil Domanski) 3d796f8 overhaul serialization code (Kamil Domanski)
| * Use CSizeComputer to avoid counting sizes in SerializationOpPieter Wuille2014-08-311-3/+1
| |
| * rework overhauled serialization methods to non-staticKamil Domanski2014-08-311-7/+7
| | | | | | | | | | | | | | Thanks to Pieter Wuille for most of the work on this commit. I did not fixup the overhaul commit, because a rebase conflicted with "remove fields of ser_streamplaceholder". I prefer not to risk making a mistake while resolving it.
| * overhaul serialization codeKamil Domanski2014-08-311-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of each class' serialization/deserialization is no longer passed within a macro. The implementation now lies within a template of form: template <typename T, typename Stream, typename Operation> inline static size_t SerializationOp(T thisPtr, Stream& s, Operation ser_action, int nType, int nVersion) { size_t nSerSize = 0; /* CODE */ return nSerSize; } In cases when codepath should depend on whether or not we are just deserializing (old fGetSize, fWrite, fRead flags) an additional clause can be used: bool fRead = boost::is_same<Operation, CSerActionUnserialize>(); The IMPLEMENT_SERIALIZE macro will now be a freestanding clause added within class' body (similiar to Qt's Q_OBJECT) to implement GetSerializeSize, Serialize and Unserialize. These are now wrappers around the "SerializationOp" template.
* | Merge pull request #4779Wladimir J. van der Laan2014-09-011-1/+1
|\ \ | |/ |/| | | 093303a add missing header end comments (Philip Kaufmann)
| * add missing header end commentsPhilip Kaufmann2014-08-281-1/+1
| | | | | | | | | | | | - ensures a consistent usage in header files - also add a blank line after the copyright header where missing - also remove orphan new-lines at the end of some files
* | Fix a few "Uninitialized scalar field" warningsWladimir J. van der Laan2014-08-281-1/+1
|/ | | | | | Fix a few warnings reported by Coverity. None of these is critical, but making sure that class fields are initialized can avoid heisenbugs.
* CBloomFilter::clear() methodTom Harding2014-07-211-0/+2
|
* Revert "CBloomFilter::clear() method"Wladimir J. van der Laan2014-07-211-2/+0
| | | | This reverts commit 8fbf03995df9a2003be603be1a930bc3373d56e0.
* CBloomFilter::clear() methodTom Harding2014-06-271-0/+2
|
* Code simplifications after CTransaction::GetHash() cachingPieter Wuille2014-06-221-1/+1
|
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-3/+4
| | | | | | | | | Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
* Performance optimization for bloom filters.Gregory Maxwell2013-08-201-3/+6
| | | | | | | | This reduces a peer's ability to attack network resources by using a full bloom filter, but without reducing the usability of bloom filters. It sets a default match everything filter for peers and it generalizes a prior optimization to cover more cases.
* Add nFlags to CBloomFilter to make filter updating optional.Matt Corallo2013-01-161-1/+14
|
* Add a nTweak to bloom filters to tweak the seed.Matt Corallo2013-01-161-1/+5
|
* Automatically add any matching outputs to a filter during matching.Matt Corallo2013-01-161-1/+2
|
* Replace RelayMessage with RelayTransaction.Matt Corallo2013-01-161-1/+1
|
* Add a CBloomFilter class for use as a transaction filter.Matt Corallo2013-01-161-0/+70