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   75187 use strict;
  2         14  
  2         62  
2 2     2   12 use warnings;
  2         4  
  2         92  
3             package Net::IMP::Remote::Protocol;
4 2     2   12 use Scalar::Util 'dualvar';
  2         5  
  2         91  
5 2     2   12 use Carp;
  2         3  
  2         147  
6              
7 2     2   15 use Exporter 'import';
  2         4  
  2         166  
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   14 use constant IMPRPC_GET_INTERFACE => dualvar(0x4001,'get_interface');
  2         12  
  2         198  
22 2     2   14 use constant IMPRPC_SET_INTERFACE => dualvar(0x4002,'set_interface');
  2         4  
  2         140  
23 2     2   14 use constant IMPRPC_NEW_ANALYZER => dualvar(0x4003,'new_analyzer');
  2         4  
  2         135  
24 2     2   13 use constant IMPRPC_DEL_ANALYZER => dualvar(0x4004,'delete_analyzer');
  2         4  
  2         147  
25 2     2   13 use constant IMPRPC_DATA => dualvar(0x4005,'data');
  2         4  
  2         120  
26 2     2   11 use constant IMPRPC_SET_VERSION => dualvar(0x4006,'set_version');
  2         4  
  2         118  
27              
28 2     2   12 use constant IMPRPC_EXCEPTION => dualvar(0x4101,'exception');
  2         3  
  2         133  
29 2     2   14 use constant IMPRPC_INTERFACE => dualvar(0x4102,'interface');
  2         4  
  2         123  
30 2     2   12 use constant IMPRPC_RESULT => dualvar(0x4103,'result');
  2         4  
  2         598  
31              
32             sub load_implementation {
33 2     2 0 8775 shift;
34 2   50     9 my $impl = shift || 'Storable';
35 2         8 $impl = "Net::IMP::Remote::$impl";
36 2 50 33     204 $impl =~m{^[\w:]+$} and eval "require $impl"
37             or croak("bad wire implementation $impl: $@");
38 2         12 return $impl;
39             }
40              
41              
42              
43             __END__