NAME
AnyEvent::Riak - AnyEvent ProtocolBuffers Riak Client
VERSION
version 0.90
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:
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.
sub BUILD { my ($self) = @_; $self->_handle(); }
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.