Damien Krotkine > AnyEvent-Riak > AnyEvent::Riak

Download:
AnyEvent-Riak-0.91.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.91   Source  

NAME ^

AnyEvent::Riak - AnyEvent ProtocolBuffers Riak Client

VERSION ^

version 0.91

SYNOPSIS ^

  use AnyEvent::Riak;
  my $cv1 = AE::cv;
  my $client = AnyEvent::Riak->new(
    on_connect       => sub { $cv1->send },
    on_connect_error => sub { $cv1->croak($_[1])},
  );
  $cv1->recv;

  my $cv2
  $client->put({ bucket  => 'bucket_name',
                 key     => 'key_name',
                 content => { value => 'plip',
                              content_type => 'text/plain',
                            },
               },
               sub {
                   my ($result, $error) = @_;
                   $error and $cv2->croak(
                     sprintf("error %d: %s",
                     @{$error}{qw(error_code error_message)})
                   );
                   $cv2->send($result);
               });

  my $put_result = $cv2->recv();

  my $cv3 = AE::cv;
  $client->get({ bucket => 'bucket_name',
                 key => 'key_name',
               },
               sub {
                   my ($result, $error) = @_;
                   $error and $cv3->croak(
                     sprintf("error %d: %s",
                     @{$error}{qw(error_code error_message)})
                   );
                   $cv3->send($result);
               });

  my $get_result = $cv3->recv();

ATTRIBUTES ^

host => $hostname

Str, Required. Riak IP or hostname. Default to 127.0.0.1

port => $port_number

Int, Required. Port of the PBC interface. Default to 8087

on_connect => $cb->($handle, $host, $port, $retry->())

CodeRef, required. Executed on connection. Check out AnyEvent::Handle#on_connect-cb--handle-host-port-retry

on_connect_error => $cb->($handle, $message)

CodeRef, required. Executed when the connection could not be established. Check out AnyEvent::Handle#on_connect_error-cb--handle-message

connect_timeout => $fractional_seconds

Float, Default 5. Timeout for connection operation, in seconds. Set to 0 for no timeout.

timeout => $fractional_seconds

Float, Default 5. Timeout for read/write operation, in seconds. Set to 0 for no timeout.

no_delay => <boolean>

Boolean, Default 0. If set to a true value, TCP_NODELAY will be enabled on the socket, which means deactivating Nagle's algorithm. Use only if you know what you're doing.

METHODS ^

$client->close($cb)

This method will wait until everything has been written to the connection, then close the connection, and then calls the callback without parameters. Use this to properly close the connection, before destroying the client instance.

DOCUMENTATION ^

The exhaustive documentation is here:

AnyEvent::Riak::Documentation

However, the current module doesn't support all features documented. get() and put() works, the rest may work... The status of supported functions will be updated.

AUTHOR ^

Damien Krotkine <dams@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Damien 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.

syntax highlighting: