The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bloomd::Client - Perl client to the bloomd server

VERSION

version 0.27

SYNOPSIS

  use feature ':5.12';
  use Bloomd::Client;
  my $b = Bloomd::Client->new( timeout => 0.2 );
  my $filter = 'test_filter';
  $b->create($filter);
  my $array_ref = $b->list();
  my $hash_ref = $b->info($filter);
  $b->set($filter, 'u1');
  if ($b->check($filter, 'u1')) { say "it exists!" }
  my $hashref = $b->multi( $filter, qw(u1 u2 u3) );

DESCRIPTION

This is a Perl client to connect to the Bloomd server. See http://armon.github.io/bloomd/ for the server website.

ATTRIBUTES

protocol

The protocol. ro, defaults to 'tcp'

host

The host to connect to. ro, defaults to '127.0.0.1'

port

The port to connect to. ro, defaults to '8673'

timeout

The timeout (on read and write), in seconds. Can be a float. ro, defaults to 10.

METHODS

disconnect

Closes the connection and reset the internal socket

create

Creates a new bloom filter

  $b->create($name, $capacity?, $probability?, $in_memory=0|1?)

Only the name is mandatory. You can specify the initial capacity (if not the filter will be enlarged as needed), the probability of maximum false positives you want, and a flag to force the filter to not be in memory (by default it is).

Returns true if the filter didn't exist and was created successfully.

list

  my $array_ref = $b->list($prefix?)

Returns an ArrayRef of the existing filters. You can provide a prefix to filter on them.

drop

  $b->drop($name)

Drops a filter. Returns true if the filter existed and was removed properly.

close

  $b->close($name)

Closes a filter. Returns true on success.

clear

  $b->clear($name)

Clears a filter. Returns tru on success.

check

  if ($b->check($name, $key)) {
    print "the element $key matched\n";
  }

Given a filter name and a key name, returns true if the key was previously added in the filter (using set).

multi

  my $hash_ref = $b->multi($name, $key1, key2, key3);

Given a filter name and a list of elements, returns a HashRef, which keys are the elements, and the values are 1 or 0, depending if the element is present in the filter or not.

set

  $b->set($name, $key);

Adds the element to the given filter. Returns 1 if the elements was not previously in the filter and was properly added.

bulk

  $b->bulk($name, $key1, $key2, $key3);

Adds the elements to the given filter. Returns void

info

  my $hash_ref = $b->info($name);

Returns a HashRef giving informations about the given filter name.

flush

  $b->flush($name);

Flushes the filter. Returns true on success.

AUTHOR

Damien "dams" Krotkine

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Damien "dams" Krotkine.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.