chiark / gitweb /
bus-bloom: Fix bloom filter calculation
authorDenis Kenzior <denkenz@gmail.com>
Sat, 9 Aug 2014 07:06:21 +0000 (02:06 -0500)
committerLennart Poettering <lennart@poettering.net>
Wed, 13 Aug 2014 14:24:59 +0000 (16:24 +0200)
commit587f21d8c0ec16f0812fd457b18cb29a9ed60229
treec70b97e4d0aa46368d5c7a8f4a6d6ec366891947
parentdae1e55b54800d6c5a0be8beab909f90ff5c3c72
bus-bloom: Fix bloom filter calculation

i is being used incorrectly.  It is used to refer to the number of
indexes calculated so far (out of k).  However, it is also incremented
when a new hash key is being used.  This means that the results are
inconsistent with the desired behavior described in PORTING-DBUS1
document.

The expected result is that for the default values of m and k (512, 8)
the 1st hash key should produce 4 indexes.  The second hash key is used
for the next 4 and overall 8 indexes into m are calculated.

The current behavior results in 6 indexes being calculated, 4 coming
from hash key 1 and 2 others from hash key 5.
src/libsystemd/sd-bus/bus-bloom.c