Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BloomFilter ¶
type BloomFilter struct {
// contains filtered or unexported fields
}
BloomFilter definition includes the number of hash functions, bit array, and strategy for hashing.
func FromBytes ¶
func FromBytes(b []byte) (*BloomFilter, error)
FromBytes creates a new BloomFilter instance by deserializing from byte array.
func NewBloomFilter ¶
func NewBloomFilter(expectedInsertions int, errRate float64) (*BloomFilter, error)
NewBloomFilter creates a new BloomFilter instance with `Murur128Mitz64` as default strategy.
func NewBloomFilterWithStrategy ¶
func NewBloomFilterWithStrategy(expectedInsertions int, errRate float64, strategy Strategy) (*BloomFilter, error)
NewBloomFilterWithStrategy creates a new BloomFilter instance with given expected insertions/capacity, error rate, and strategy. For now the available strategies are * &Murur128Mitz32{} * &Murur128Mitz64{}
func (*BloomFilter) MightContain ¶
func (bf *BloomFilter) MightContain(key interface{}) bool
MightContain returns a boolean value to indicate if given element is in BloomFilter.
func (*BloomFilter) Put ¶
func (bf *BloomFilter) Put(key interface{}) bool
Put inserts element of any type into BloomFilter.
func (*BloomFilter) ToBytes ¶
func (bf *BloomFilter) ToBytes() []byte
ToBytes serializes BloomFilter to byte array, which is compatible with Java's Guava library.
type Murur128Mitz32 ¶
type Murur128Mitz32 struct{}
Murur128Mitz32 is the implementation of Guava's MURMUR128_MITZ_32 class in Go. See https://github.com/google/guava/blob/master/guava/src/com/google/common/hash/BloomFilterStrategies.java#L45 for details.
type Murur128Mitz64 ¶
type Murur128Mitz64 struct{}
Murur128Mitz64 is the implementation of Guava's MURMUR128_MITZ_64 class in Go. See https://github.com/google/guava/blob/master/guava/src/com/google/common/hash/BloomFilterStrategies.java#L93 for details.