Package org.bitcoinj.core
Interface PeerFilterProvider
- All Known Implementing Classes:
Wallet
public interface PeerFilterProvider
An interface which provides the information required to properly filter data downloaded from Peers. Note that an
implementer is responsible for calling
PeerGroup.recalculateFastCatchupAndFilter(PeerGroup.FilterRecalculateMode)
whenever a change occurs which
effects the data provided via this interface.-
Method Summary
Modifier and TypeMethodDescriptionvoid
Called on all registered filter providers beforegetBloomFilterElementCount()
andgetBloomFilter(int, double, long)
are called.void
getBloomFilter
(int size, double falsePositiveRate, long nTweak) Gets a bloom filter that contains all the necessary elements for the listener to receive relevant transactions.int
Gets the number of elements that will be added to a bloom filter returned bygetBloomFilter(int, double, long)
long
Returns the earliest timestamp (seconds since epoch) for which full/bloom-filtered blocks must be downloaded.
-
Method Details
-
getEarliestKeyCreationTime
long getEarliestKeyCreationTime()Returns the earliest timestamp (seconds since epoch) for which full/bloom-filtered blocks must be downloaded. Blocks with timestamps before this time will only have headers downloaded.0
requires that all blocks be downloaded, and thus this should default toSystem.currentTimeMillis()
/1000. -
beginBloomFilterCalculation
void beginBloomFilterCalculation()Called on all registered filter providers beforegetBloomFilterElementCount()
andgetBloomFilter(int, double, long)
are called. Once called, the provider should ensure that the items it will want to insert into the filter don't change. The reason is that all providers will have their element counts queried, and then a filter big enough for all of them will be specified. So the provider must use consistent state. There is guaranteed to be a matching call toendBloomFilterCalculation()
that can be used to e.g. unlock a lock. -
getBloomFilterElementCount
int getBloomFilterElementCount()Gets the number of elements that will be added to a bloom filter returned bygetBloomFilter(int, double, long)
-
getBloomFilter
Gets a bloom filter that contains all the necessary elements for the listener to receive relevant transactions. Default value should be an empty bloom filter with the given size, falsePositiveRate, and nTweak. -
endBloomFilterCalculation
void endBloomFilterCalculation()
-