Add bloom filter Reload method.
This commit is contained in:
parent
00f245b959
commit
24a92fd581
3 changed files with 32 additions and 6 deletions
|
@ -93,7 +93,17 @@ func (bf *Filter) IsLoaded() bool {
|
|||
return bf.msgFilterLoad != nil
|
||||
}
|
||||
|
||||
// Unload clears the bloom filter.
|
||||
// Reload loads a new filter replacing any existing filter.
|
||||
//
|
||||
// This function is safe for concurrent access.
|
||||
func (bf *Filter) Reload(filter *btcwire.MsgFilterLoad) {
|
||||
bf.Lock()
|
||||
defer bf.Unlock()
|
||||
|
||||
bf.msgFilterLoad = filter
|
||||
}
|
||||
|
||||
// Unload unloads the bloom filter.
|
||||
//
|
||||
// This function is safe for concurrent access.
|
||||
func (bf *Filter) Unload() {
|
||||
|
|
|
@ -582,3 +582,18 @@ func TestFilterInsertP2PubKeyOnly(t *testing.T) {
|
|||
return
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterReload(t *testing.T) {
|
||||
f := bloom.NewFilter(10, 0, 0.000001, btcwire.BloomUpdateAll)
|
||||
|
||||
bFilter := bloom.LoadFilter(f.MsgFilterLoad())
|
||||
if bFilter.MsgFilterLoad() == nil {
|
||||
t.Errorf("TestFilterReload LoadFilter test failed")
|
||||
return
|
||||
}
|
||||
bFilter.Reload(nil)
|
||||
|
||||
if bFilter.MsgFilterLoad() != nil {
|
||||
t.Errorf("TestFilterReload Reload test failed")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
|
||||
github.com/conformal/btcutil/bloom/murmurhash3.go MurmurHash3 100.00% (31/31)
|
||||
github.com/conformal/btcutil/bloom/merkleblock.go NewMerkleBlock 100.00% (22/22)
|
||||
github.com/conformal/btcutil/bloom/merkleblock.go merkleBlock.traverseAndBuild 100.00% (9/9)
|
||||
github.com/conformal/btcutil/bloom/merkleblock.go NewMerkleBlock 100.00% (19/19)
|
||||
github.com/conformal/btcutil/bloom/merkleblock.go merkleBlock.traverseAndBuild 100.00% (10/10)
|
||||
github.com/conformal/btcutil/bloom/merkleblock.go merkleBlock.calcHash 100.00% (8/8)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.maybeAddOutpoint 100.00% (7/7)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.matchesOutPoint 100.00% (4/4)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.addOutPoint 100.00% (4/4)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.AddShaHash 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.Add 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.IsLoaded 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.Reload 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.Unload 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.Matches 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.MatchesOutPoint 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.Add 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.AddShaHash 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.AddOutPoint 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.MatchTxAndUpdate 100.00% (3/3)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.MsgFilterLoad 100.00% (3/3)
|
||||
|
@ -23,5 +24,5 @@ github.com/conformal/btcutil/bloom/filter.go Filter.matchTxAndUpdate 91.30% (
|
|||
github.com/conformal/btcutil/bloom/filter.go Filter.matches 85.71% (6/7)
|
||||
github.com/conformal/btcutil/bloom/filter.go NewFilter 81.82% (9/11)
|
||||
github.com/conformal/btcutil/bloom/filter.go Filter.add 80.00% (4/5)
|
||||
github.com/conformal/btcutil/bloom ---------------------------- 96.36% (159/165)
|
||||
github.com/conformal/btcutil/bloom ---------------------------- 96.39% (160/166)
|
||||
|
||||
|
|
Loading…
Reference in a new issue