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 callingPeerGroup.recalculateFastCatchupAndFilter(PeerGroup.FilterRecalculateMode)
whenever a change occurs which effects the data provided via this interface.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
beginBloomFilterCalculation()
Called on all registered filter providers beforegetBloomFilterElementCount()
andgetBloomFilter(int, double, long)
are called.void
endBloomFilterCalculation()
BloomFilter
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
getBloomFilterElementCount()
Gets the number of elements that will be added to a bloom filter returned bygetBloomFilter(int, double, long)
long
getEarliestKeyCreationTime()
Returns the earliest timestamp (seconds since epoch) for which full/bloom-filtered blocks must be downloaded.
-
-
-
Method Detail
-
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
BloomFilter getBloomFilter(int size, double falsePositiveRate, long nTweak)
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()
-
-