summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Bloomfilter.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Bloomfilter.pm')
-rw-r--r--Bugzilla/Bloomfilter.pm56
1 files changed, 28 insertions, 28 deletions
diff --git a/Bugzilla/Bloomfilter.pm b/Bugzilla/Bloomfilter.pm
index ba1d6d6c3..fb8bcc9ac 100644
--- a/Bugzilla/Bloomfilter.pm
+++ b/Bugzilla/Bloomfilter.pm
@@ -17,45 +17,45 @@ use File::Slurper qw(write_binary read_binary read_lines);
use File::Spec::Functions qw(catfile);
sub _new_bloom_filter {
- my ($n) = @_;
- my $p = 0.01;
- my $m = $n * abs(log $p) / log(2) ** 2;
- my $k = $m / $n * log(2);
- return Algorithm::BloomFilter->new($m, $k);
+ my ($n) = @_;
+ my $p = 0.01;
+ my $m = $n * abs(log $p) / log(2)**2;
+ my $k = $m / $n * log(2);
+ return Algorithm::BloomFilter->new($m, $k);
}
sub _filename {
- my ($name, $type) = @_;
+ my ($name, $type) = @_;
- my $datadir = bz_locations->{datadir};
+ my $datadir = bz_locations->{datadir};
- return catfile($datadir, "$name.$type");
+ return catfile($datadir, "$name.$type");
}
sub populate {
- my ($class, $name) = @_;
- my $memcached = Bugzilla->memcached;
- my @items = read_lines(_filename($name, 'list'));
- my $filter = _new_bloom_filter(@items + 0);
-
- $filter->add($_) foreach @items;
- write_binary(_filename($name, 'bloom'), $filter->serialize);
- $memcached->clear_bloomfilter({name => $name});
+ my ($class, $name) = @_;
+ my $memcached = Bugzilla->memcached;
+ my @items = read_lines(_filename($name, 'list'));
+ my $filter = _new_bloom_filter(@items + 0);
+
+ $filter->add($_) foreach @items;
+ write_binary(_filename($name, 'bloom'), $filter->serialize);
+ $memcached->clear_bloomfilter({name => $name});
}
sub lookup {
- my ($class, $name) = @_;
- my $memcached = Bugzilla->memcached;
- my $filename = _filename($name, 'bloom');
- my $filter_data = $memcached->get_bloomfilter( { name => $name } );
-
- if (!$filter_data && -f $filename) {
- $filter_data = read_binary($filename);
- $memcached->set_bloomfilter({ name => $name, filter => $filter_data });
- }
-
- return Algorithm::BloomFilter->deserialize($filter_data) if $filter_data;
- return undef;
+ my ($class, $name) = @_;
+ my $memcached = Bugzilla->memcached;
+ my $filename = _filename($name, 'bloom');
+ my $filter_data = $memcached->get_bloomfilter({name => $name});
+
+ if (!$filter_data && -f $filename) {
+ $filter_data = read_binary($filename);
+ $memcached->set_bloomfilter({name => $name, filter => $filter_data});
+ }
+
+ return Algorithm::BloomFilter->deserialize($filter_data) if $filter_data;
+ return undef;
}
1;