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 8     8   143470 use 5.008005;
  8         23  
4 8     8   36 use strict;
  8         12  
  8         204  
5 8     8   34 use warnings;
  8         23  
  8         288  
6 8     8   4523 use POSIX qw(EINTR EAGAIN EWOULDBLOCK :sys_wait_h);
  8         50845  
  8         48  
7 8     8   14505 use IO::Socket qw(:crlf IPPROTO_TCP TCP_NODELAY);
  8         163237  
  8         33  
8 8     8   2170 use IO::Socket::INET;
  8         9  
  8         51  
9 8     8   8254 use IO::Select;
  8         11478  
  8         493  
10 8     8   5181 use Time::HiRes qw/time/;
  8         10604  
  8         30  
11 8     8   1280 use base qw/Exporter/;
  8         13  
  8         1118  
12              
13             our @EXPORT_OK = qw/
14             parse_message parse_message_utf8
15             /;
16              
17             our $VERSION = "0.07";
18              
19 8     8   108 use XSLoader;
  8         11  
  8         2275  
20             XSLoader::load(__PACKAGE__, $VERSION);
21              
22             sub new {
23 8     8 1 9276 my $class = shift;
24 8 50       52 my %args = ref $_[0] ? %{$_[0]} : @_;
  0         0  
25 8         78 %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         155 $class->_new(\%args);
36             }
37              
38             sub set_socket {
39 2     2 0 3 my ($self,$socket) = @_;
40 2         17 $self->get_bucket->{socket} = $socket;
41 2         26 $self->set_fileno(fileno($socket));
42             }
43              
44             sub connect {
45 2     2 0 35 my $self = shift;
46 2 50       31 my $socket = IO::Socket::INET->new(
47             PeerAddr => $self->get_server,
48             Timeout => $self->get_connect_timeout,
49             ) or return;
50 2 50       980 $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         22 $self->set_socket($socket);
54 2         722 $socket;
55             }
56              
57             sub DESTROY {
58 2     2   6957 $_[0]->_destroy();
59             }
60              
61              
62             1;
63             __END__