blob: 4789b3213f1265cebe284e24febc927ee12c1431 (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package bloom
// MightContain reports whether the Bloom filter may contain the given path.
//
// Evaluated against the full path and each of its directory prefixes. A true
// result indicates a possible match; false means the path definitely did not
// change.
func (f *Filter) MightContain(path []byte, settings *Settings) (bool, error) {
if f == nil || settings == nil {
return false, nil
}
if len(f.Data) == 0 {
return false, nil
}
keys, err := keyvec(path, settings)
if err != nil {
return false, err
}
for i := range keys {
if filterContainsKey(f, &keys[i], settings) {
return true, nil
}
}
return false, nil
}
|