Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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.
  • Loading branch information...
commit 5a71e04a704ebc4b3e1449e58a6ba78f68ab7b60 1 parent 1d26311
Alexis Sukrieh authored
Showing with 35 additions and 1 deletion.
  1. +7 −1 lib/Net/Riak/Role/PBC.pm
  2. +28 −0 t/pbc.t
View
8 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,
)
);
}
View
28 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;
Please sign in to comment.
Something went wrong with that request. Please try again.