Egg-Plugin-Net-Scan

 view release on metacpan or  search on metacpan

lib/Egg/Plugin/Net/Scan.pm  view on Meta::CPAN


__PACKAGE__->mk_accessors(qw/ is_success no_response is_error /);

sub new {
	my $class = shift;
	my $errstr= shift || 0;
	my $param =
	   $errstr=~/^is success/  ? { is_success=> 1 }
	 : $errstr=~/^No response/ ? { is_block  => 1 }
	 : { is_error=> $errstr };
	bless $param, $class;
}

1;

__END__

=head1 NAME

Egg::Plugin::Net::Scan - Network host's port is checked.

=head1 SYNOPSIS

  use Egg qw/ Net::Scan /;

  # If the port is effective, by the 25th mail is sent.
  my $scan= $e->port_scan('192.168.1.1', 25, timeout => 3 );
  if ( $scan->is_success ) {
    $e->mail->send;
    print " Mail was transmitted.";
  } elsif ( $scan->is_block ) {
    print " Mail server has stopped. ";
  } else {
    print " Error occurs: ". $scan->is_error;
  }

=head1 DESCRIPTION

It is a plugin to check the operational condition of arbitrary host's port.

* Because 'alarm' command is used, it operates in the platform that doesn't
  correspond. A fatal error occurs when it is made to do.

=head1 METHODS

=head2 port_scan ( [TARGET_HOST], [TARGET_PORT], [OPTION] )

The port scan is done and the result is returned
with the 'Egg::Plugin::Net::Scan::Result' object.

When TARGET_HOST and TARGET_PORT are omitted, the exception is generated.

The following options can be passed to OPTION.

=over 4

=item * timeout

Time to wait for answer from port.

* It is judged that it is blocked when there is no answer in this time.

Default is '1'.

=item * protcol

Communication protocol.

Default is 'tcp'.

=back

=head1 RESULT METHODS

It is a method supported by Egg::Plugin::Net::Scan::Result.

  my $result= $e->port_cacan( ....... );

=head2 new

Constructor.

=head2 is_success

When the answer from the port is admitted, true is restored.

=head2 is_block

When the answer from the port doesn't come back within the second of
timeout, true is returned.

=head2 is_error

When some errors occur, the error message is returned.

=head1 SEE ALSO

L<Socket>,
L<Egg::Release>,

=head1 AUTHOR

Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2008 Bee Flag, Corp. E<lt>L<http://egg.bomcity.com/>E<gt>.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.6 or,
at your option, any later version of Perl 5 you may have available.

=cut



( run in 1.799 second using v1.01-cache-2.11-cpan-437f7b0c052 )