AE-AdHoc
view release on metacpan or search on metacpan
123456789101112131415161718192021222324Revision history
for
AE-AdHoc
0.08 Sat Oct 27 2012
* API: Add ae_action { CODE }
for
delayed execution.
* API: Add timeout and soft_timeout options to ae_recv.
0.07 Sun Sep 16 2012
* API: Add magic variables
for
error handling
* FIX: Fix ae_goal, add verbose error messages
for
leftover callbacks
0.05 Sun Sep 09 2012
* API: Add multiple goal interface (ae_goal)
0.04 Sun Sep 09 2012
* API: Add arglist support to callbacks: ae_recv { ae_send->(1..5) };
* API: Add extra arguments to callback: ae_recv { ae_send(1..5) };
* Example added (port-probe.pl)
0.03 Thu Sep 06 2012
* API: Make empty/zero
$timeout
illegal.
0.0203 Tue Aug 14 2012
* Fixed empty
$timeout
undef
warning.
* Minor code cleanup.
lib/AE/AdHoc.pm view on Meta::CPAN
747576777879808182838485868788899091929394BEGIN {
our
@ISA
=
qw(Exporter)
;
our
@EXPORT
=
qw(ae_recv ae_send ae_croak ae_begin ae_end ae_goal ae_action)
;
};
=head2 ae_recv { CODE; } [ $timeout ] %options;
The main entry point of the module.
Run CODE block, enter event loop and wait for $timeout seconds for callbacks
set up in CODE to fire, then die. Return whatever was sent via C<ae_send>.
$timeout must be a nonzero real number. Negative value means "run forever".
$timeout=0 would be ambigous, so it's excluded.
Options may include:
=over
=item * timeout - override the $timeout parameter (one timeout MUST be present).
lib/AE/AdHoc.pm view on Meta::CPAN
368369370371372373374375376377378379380381382383384385386387388
croak
shift
;
};
=head1 CAVEATS
This module is still under heavy development, and is subject to change.
Feature/change requests are accepted.
=head2 Callback confinement
If event loop is entered several times, the callbacks created in one
invocations will NOT fire in another. Instead, they'll issue a warning
and return (see "Error handling" below).
Error message will be like C<ae_send at file:13 from ae_recv[1] at file:12
called in ae_recv[2] at file:117>
This is done so to isolate invocations as much as possible.
However, detection of "this invocation" will go wrong if callback maker is
called in a callback itself. For instance, this will always work the same:
( run in 0.503 second using v1.01-cache-2.11-cpan-ec4f86ec37b )