File Coverage

lib/Devel/Debug/Server.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1 2     2   11 use strict;
  2         4  
  2         44  
2 2     2   13 use warnings;
  2         4  
  2         55  
3             package Devel::Debug::Server;
4              
5 2     2   527 use ZeroMQ qw/:all/;
  0            
  0            
6             use Time::HiRes qw(usleep nanosleep);
7             use Storable;
8              
9             my $NO_COMMAND = 'no_command';
10             our $READY_COMMAND = 'ready_command';
11             our $RUN_COMMAND = 'r';
12             our $STEP_COMMAND = 's';
13             our $WAIT_COMMAND = 'WAIT_CMD';
14             our $SET_BREAKPOINT_COMMAND = 'b';
15             our $REMOVE_BREAKPOINT_COMMAND = 'remove_command';
16             our $RETURN_COMMAND = 'return';
17             our $EVAL_COMMAND = 'e';
18             our $SUSPEND_COMMAND = 'suspend';
19              
20             our $DEBUG_PROCESS_TYPE = 'DEBUG_PROCESS';
21             our $DEBUG_GUI_TYPE = 'DEBUG_GUI';
22             our $DEBUG_BREAKPOINT_TYPE = 'DEBUG_BREAKPOINT_GUI';
23              
24             my $requester = undef;
25              
26             # ABSTRACT: communication module for debuging processes
27              
28              
29             sub initZeroMQ{
30             if (!defined $requester){
31             my $cxt = ZeroMQ::Context->new;
32             $requester = $cxt->socket(ZeroMQ::Constants::ZMQ_REQ);
33             $requester->connect("tcp://127.0.0.1:5000");
34             }
35             }
36              
37              
38             sub send {
39             my($data) = @_;
40              
41             my $programInfoStr = Storable::freeze($data);
42             $requester->send($programInfoStr);
43              
44             my $reply = $requester->recv()->data();
45             return Storable::thaw($reply);
46             }
47              
48              
49             1;