diff --git a/network/follow.go b/network/follow.go index 2c2ed841a29c7ab246ba64832d68b7e765bce43c..a52eff6923bb4d03ef09034608cdacbe783da807 100644 --- a/network/follow.go +++ b/network/follow.go @@ -34,6 +34,9 @@ import ( "time" ) +const bloomFilterSize = 71888 // In Bits +const bloomFilterHashes = 8 + //comms interface makes testing easier type followNetworkComms interface { GetHost(hostId *id.ID) (*connect.Host, bool) @@ -99,7 +102,10 @@ func (m *manager) follow(rng csprng.Source, comms followNetworkComms) { var filterList []*bloom.Ring for _, f := range pollResp.BloomFilters { jww.INFO.Printf("Bloom Filter received: %v", f) - filter := &bloom.Ring{} + filter, err := bloom.InitByParameters(bloomFilterSize, bloomFilterHashes) + if err != nil { + jww.FATAL.Panicf("Unable to create a bloom filter: %v", err) + } if err := filter.UnmarshalBinary(f); err != nil { jww.WARN.Printf("Failed to unmarshal filter: %+v", err) continue