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.