File Coverage

blib/lib/Redis/Jet.pm
Criterion Covered Total %
statement 43 44 97.7
branch 4 8 50.0
condition n/a
subroutine 14 14 100.0
pod 1 3 33.3
total 62 69 89.8


line stmt bran cond sub pod time code
1             package Redis::Jet;
2              
3 12     12   141369 use 5.008005;
  12         28  
4 12     12   37 use strict;
  12         10  
  12         172  
5 12     12   31 use warnings;
  12         14  
  12         266  
6 12     12   4988 use POSIX qw(EINTR EAGAIN EWOULDBLOCK :sys_wait_h);
  12         56505  
  12         49  
7 12     12   16248 use IO::Socket qw(:crlf IPPROTO_TCP TCP_NODELAY);
  12         181459  
  12         41  
8 12     12   2729 use IO::Socket::INET;
  12         15  
  12         57  
9 12     12   9175 use IO::Select;
  12         13885  
  12         514  
10 12     12   5991 use Time::HiRes qw/time/;
  12         12347  
  12         39  
11 12     12   1491 use base qw/Exporter/;
  12         15  
  12         1358  
12              
13             our @EXPORT_OK = qw/
14             parse_message parse_message_utf8
15             /;
16              
17             our $VERSION = "0.08";
18              
19 12     12   123 use XSLoader;
  12         11  
  12         2746  
20             XSLoader::load(__PACKAGE__, $VERSION);
21              
22             sub new {
23 8     8 1 10875 my $class = shift;
24 8 50       58 my %args = ref $_[0] ? %{$_[0]} : @_;
  0         0  
25 8         79 %args = (
26             server => '127.0.0.1:6379',
27             connect_timeout => 5,
28             io_timeout => 1,
29             utf8 => 0,
30             noreply => 0,
31             reconnect_attempts => 0,
32             reconnect_delay => 0.1,
33             %args,
34             );
35 8         149 $class->_new(\%args);
36             }
37              
38             sub set_socket {
39 2     2 0 6 my ($self,$socket) = @_;
40 2         11 $self->get_bucket->{socket} = $socket;
41 2         26 $self->set_fileno(fileno($socket));
42             }
43              
44             sub connect {
45 2     2 0 65 my $self = shift;
46 2 50       32 my $socket = IO::Socket::INET->new(
47             PeerAddr => $self->get_server,
48             Timeout => $self->get_connect_timeout,
49             ) or return;
50 2 50       1188 $socket->setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
51             or die "setsockopt(TCP_NODELAY) failed:$!";
52 2 50       22 $socket->blocking(0) or die $!;
53 2         28 $self->set_socket($socket);
54 2         1100 $socket;
55             }
56              
57             sub DESTROY {
58 2     2   9776 $_[0]->_destroy();
59             }
60              
61              
62             1;
63             __END__