ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-FastPing/FastPing.pm
(Generate patch)

Comparing AnyEvent-FastPing/FastPing.pm (file contents):
Revision 1.1 by root, Sun Apr 27 15:43:51 2008 UTC vs.
Revision 1.6 by root, Tue Nov 17 21:37:26 2009 UTC

6 6
7 use AnyEvent::FastPing; 7 use AnyEvent::FastPing;
8 8
9=head1 DESCRIPTION 9=head1 DESCRIPTION
10 10
11This module was written for a single purpose only: sending ICMP EHCO 11This module was written for a single purpose only: sending ICMP ECHO
12REQUEST packets as quickly as possible to a large number of hosts 12REQUEST packets as quickly as possible to a large number of hosts
13(thousands to millions). 13(thousands to millions).
14 14
15It employs a sending thread and is fully event-driven (using AnyEvent), so 15It employs a sending thread and is fully event-driven (using AnyEvent), so
16you have to run an event model supported by AnyEvent to use this module. 16you have to run an event model supported by AnyEvent to use this module.
27no warnings; 27no warnings;
28 28
29use AnyEvent; 29use AnyEvent;
30 30
31BEGIN { 31BEGIN {
32 our $VERSION = '1.0'; 32 our $VERSION = '1.11';
33 our @ISA = qw(Exporter); 33 our @ISA = qw(Exporter);
34 34
35 require Exporter; 35 require Exporter;
36 #Exporter::export_ok_tags (keys %EXPORT_TAGS); 36 #Exporter::export_ok_tags (keys %EXPORT_TAGS);
37 37
91range C<interval> is the minimum time in seconds between pings to the 91range C<interval> is the minimum time in seconds between pings to the
92given range. If omitted, defaults to C<$send_interval>. 92given range. If omitted, defaults to C<$send_interval>.
93 93
94The C<$send_interval> is the minimum interval between sending any two 94The C<$send_interval> is the minimum interval between sending any two
95packets and is a way to make an overall rate limit. If omitted, pings will 95packets and is a way to make an overall rate limit. If omitted, pings will
96be send as fast as possible. 96be sent as fast as possible.
97 97
98The C<$payload> is a 32 bit unsigned integer given as the ICMP ECHO 98The C<$payload> is a 32 bit unsigned integer given as the ICMP ECHO
99REQUEST ident and sequence numbers (in unspecified order :). 99REQUEST ident and sequence numbers (in unspecified order :).
100 100
101The request will be queued and all requests will be served by a background 101The request will be queued and all requests will be served by a background
156Register a callback that is called for every received ping reply 156Register a callback that is called for every received ping reply
157(regardless of whether a ping is still in process or not and regardless of 157(regardless of whether a ping is still in process or not and regardless of
158whether the reply is actually a reply to a ping sent earlier). 158whether the reply is actually a reply to a ping sent earlier).
159 159
160The code reference gets a single parameter - an arrayref with an 160The code reference gets a single parameter - an arrayref with an
161entry for each received packet (replies are beign batched for greater 161entry for each received packet (replies are being batched for greater
162efficiency). Each packet is represented by an arrayref with three members: 162efficiency). Each packet is represented by an arrayref with three members:
163the source address (an octet string of either 4 (IPv4) or 16 (IPv6) octets 163the source address (an octet string of either 4 (IPv4) or 16 (IPv6) octets
164length), the payload as passed to C<icmp_ping> and the round trip time in 164length), the payload as passed to C<icmp_ping> and the round trip time in
165seconds. 165seconds.
166 166
210 210
211=back 211=back
212 212
213=head1 AUTHOR 213=head1 AUTHOR
214 214
215 Marc Lehmann <schmorp@schmorp.de> 215 Marc Lehmann <schmorp@schmorp.de>
216 http://home.schmorp.de/ 216 http://home.schmorp.de/
217 217
218=head1 AUTHOR 218=head1 LICENSE
219 219
220 This software is distributed under the GENERAL PUBLIC LICENSE, version 2 220 This software is distributed under the GENERAL PUBLIC LICENSE, version 2
221 or any later version or, at your option, the Artistic License. 221 or any later version or, at your option, the Artistic License.
222 222
223=cut 223=cut
224 224

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines