File Coverage

blib/lib/Net/IMP/Remote/Protocol.pm
Criterion Covered Total %
statement 47 47 100.0
branch 1 2 50.0
condition 2 5 40.0
subroutine 15 15 100.0
pod 0 1 0.0
total 65 70 92.8


line stmt bran cond sub pod time code
1 2     2   32756 use strict;
  2         4  
  2         75  
2 2     2   10 use warnings;
  2         3  
  2         61  
3             package Net::IMP::Remote::Protocol;
4 2     2   7 use Scalar::Util 'dualvar';
  2         3  
  2         72  
5 2     2   8 use Carp;
  2         2  
  2         86  
6              
7 2     2   8 use Exporter 'import';
  2         2  
  2         104  
8             our @EXPORT = qw(
9             IMPRPC_GET_INTERFACE
10             IMPRPC_SET_INTERFACE
11             IMPRPC_NEW_ANALYZER
12             IMPRPC_DEL_ANALYZER
13             IMPRPC_DATA
14             IMPRPC_SET_VERSION
15             IMPRPC_EXCEPTION
16             IMPRPC_INTERFACE
17             IMPRPC_RESULT
18             );
19              
20              
21 2     2   6 use constant IMPRPC_GET_INTERFACE => dualvar(0x4001,'get_interface');
  2         2  
  2         113  
22 2     2   7 use constant IMPRPC_SET_INTERFACE => dualvar(0x4002,'set_interface');
  2         2  
  2         95  
23 2     2   7 use constant IMPRPC_NEW_ANALYZER => dualvar(0x4003,'new_analyzer');
  2         3  
  2         101  
24 2     2   8 use constant IMPRPC_DEL_ANALYZER => dualvar(0x4004,'delete_analyzer');
  2         2  
  2         121  
25 2     2   17 use constant IMPRPC_DATA => dualvar(0x4005,'data');
  2         3  
  2         117  
26 2     2   14 use constant IMPRPC_SET_VERSION => dualvar(0x4006,'set_version');
  2         2  
  2         144  
27              
28 2     2   10 use constant IMPRPC_EXCEPTION => dualvar(0x4101,'exception');
  2         2  
  2         131  
29 2     2   13 use constant IMPRPC_INTERFACE => dualvar(0x4102,'interface');
  2         2  
  2         166  
30 2     2   12 use constant IMPRPC_RESULT => dualvar(0x4103,'result');
  2         2  
  2         1545  
31              
32             sub load_implementation {
33 2     2 0 11013 shift;
34 2   50     10 my $impl = shift || 'Storable';
35 2         8 $impl = "Net::IMP::Remote::$impl";
36 2 50 33     195 $impl =~m{^[\w:]+$} and eval "require $impl"
37             or croak("bad wire implementation $impl: $@");
38 2         13 return $impl;
39             }
40              
41              
42              
43             __END__