Changeset 18364

Show
Ignore:
Timestamp:
08/28/08 08:14:39 (5 years ago)
Author:
tokuhirom
Message:

remove unused modules

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/HTTP-Engine-Compat/trunk/t/Utils.pm

    r17549 r18364  
    55use HTTP::Engine; 
    66 
    7 use IO::Socket::INET; 
    8  
    97use Sub::Exporter -setup => { 
    10     exports => [qw/ empty_port daemonize daemonize_all interfaces run_engine ok_response check_port wait_port /], 
     8    exports => [qw/ run_engine /], 
    119    groups  => { default => [':all'] } 
    1210}; 
    13  
    14 sub empty_port { 
    15     my $port = shift || 10000; 
    16     $port = 19000 unless $port =~ /^[0-9]+$/ && $port < 19000; 
    17  
    18     while ($port++ < 20000) { 
    19         my $sock = IO::Socket::INET->new( 
    20             Listen    => 5, 
    21             LocalAddr => 'localhost', 
    22             LocalPort => $port, 
    23             Proto     => 'tcp' 
    24         ); 
    25         return $port if $sock; 
    26     } 
    27     die "empty port not found"; 
    28 } 
    29  
    30 sub daemonize (&@) { goto _daemonize } 
    31 sub _daemonize { 
    32     my($client, %args) = @_; 
    33  
    34     if (my $pid = fork()) { 
    35         # parent. 
    36         sleep 1; # wait startup child process 
    37  
    38         $client->(); 
    39  
    40         kill TERM => $pid; 
    41         waitpid($pid, 0); 
    42     } elsif ($pid == 0) { 
    43         # child 
    44         my $poe_kernel_run = delete $args{poe_kernel_run}; 
    45         HTTP::Engine->new(%args)->run; 
    46         POE::Kernel->run() if $poe_kernel_run; 
    47     } else { 
    48         die "cannot fork"; 
    49     } 
    50 } 
    51  
    52 my @interfaces; # memoize. 
    53 sub interfaces() { 
    54     unless (@interfaces) { 
    55         push @interfaces, 'Standalone'; 
    56         push @interfaces, 'ServerSimple' if eval "use HTTP::Server::Simple; 1;"; 
    57         push @interfaces, 'POE'          if eval "use POE; 1;"; 
    58     } 
    59     return @interfaces; 
    60 } 
    61  
    62 sub daemonize_all (&@) { 
    63     my($client, %args) = @_; 
    64  
    65     my $poe_kernel_run = delete $args{poe_kernel_run}; 
    66  
    67     for my $interface (interfaces) { 
    68         $args{interface}->{module} = $interface; 
    69         $args{poe_kernel_run} = ($interface eq 'POE') if $poe_kernel_run; 
    70         _daemonize $client => %args; 
    71     } 
    72 } 
    7311 
    7412sub run_engine (&@) { 
     
    8422} 
    8523 
    86 sub ok_response { 
    87     HTTP::Engine::Response->new( 
    88         status => 200, 
    89         body => 'ok', 
    90     ); 
    91 } 
    92  
    93 sub check_port { 
    94     my ( $port ) = @_; 
    95  
    96     my $remote = IO::Socket::INET->new( 
    97         Proto    => "tcp", 
    98         PeerAddr => '127.0.0.1', 
    99         PeerPort => $port 
    100     ); 
    101     if ($remote) { 
    102         close $remote; 
    103         return 1; 
    104     } 
    105     else { 
    106         return 0; 
    107     } 
    108 } 
    109  
    110 sub wait_port { 
    111     my $port = shift; 
    112  
    113     my $retry = 10; 
    114     while ($retry--) { 
    115         return if check_port($port); 
    116         sleep 1; 
    117     } 
    118     die "cannot open port: $port"; 
    119 } 
    120  
    121241;