diff options
author | Alexis Sukrieh <alexis@weborama.com> | 2012-07-04 15:14:10 +0200 |
---|---|---|
committer | Alexis Sukrieh <alexis@weborama.com> | 2012-07-04 15:14:10 +0200 |
commit | 5a71e04a704ebc4b3e1449e58a6ba78f68ab7b60 (patch) | |
tree | 847855150cccc0c1e17c91ac8ea90845ce2b1910 | |
parent | Merge pull request #17 from dams/master (diff) | |
download | net-riak-5a71e04a704ebc4b3e1449e58a6ba78f68ab7b60.tar.gz |
Support for a timeout attribute in the PBC client
The timeout option was only supported for the REST client, the PBC role did have a hard-coded timeout set to 30 seconds. This patch allows the caller to change it, by passing the timeout attrbute to the constructor. A test script is provided.
Diffstat (limited to '')
-rw-r--r-- | lib/Net/Riak/Role/PBC.pm | 8 | ||||
-rw-r--r-- | t/pbc.t | 28 |
2 files changed, 35 insertions, 1 deletions
diff --git a/lib/Net/Riak/Role/PBC.pm b/lib/Net/Riak/Role/PBC.pm index 605f032..bc32e3b 100644 --- a/lib/Net/Riak/Role/PBC.pm +++ b/lib/Net/Riak/Role/PBC.pm @@ -37,6 +37,12 @@ has socket => ( predicate => 'has_socket', ); +has timeout => ( + is => 'ro', + isa => Int, + default => 30, +); + sub is_alive { my $self = shift; return $self->send_message('PingReq'); @@ -56,7 +62,7 @@ sub connect { PeerAddr => $self->host, PeerPort => $self->port, Proto => 'tcp', - Timeout => 30, + Timeout => $self->timeout, ) ); } diff --git a/t/pbc.t b/t/pbc.t new file mode 100644 index 0000000..326ec3b --- /dev/null +++ b/t/pbc.t @@ -0,0 +1,28 @@ +use Net::Riak; +use strict; +use warnings; + +use Test::More; + +my $r = Net::Riak->new( + transport => 'PBC', + host => '10.0.0.40', + port => 8080 + ); + +is $r->client->timeout,30, "timeout defaults to 30"; + +my $r = Net::Riak->new( + transport => 'PBC', + host => '10.0.0.40', + port => 8080, + timeout => 2, + ); + +is $r->client->timeout, 2, "timeout changed"; + + + + + +done_testing; |