I finally got fed up with it and wrote a module (after asking a local mailing list) with the following interface:my $cv = AnyEvent->condvar; my $timer = AnyEvent->timer( after => 10, cb => sub { $cv->croak("Time +out"); }; do_something( on_success => sub{ $cv->send(@_); }, on_error => sub{ $cv->croak(shift); }, ); my $result = $cv->recv(); undef $timer; analyze_do_something( $result );
So, my questions would be:my $result = ae_recv { do_something( on_success => ae_send, on_error => ae_croak, ); } 10; # timeout analyze_do_something( $result );
1) Is there such a module already? I haven't found one, but...
2) Is there really a need for such a module?
3) If so, how should I name it? I came up with AnyEvent::AdHoc, but that still isn't clear enough. AnyEvent::Test seems misleading (it's not test-only, and doesn't test AnyEvent itself) and AnyEvent::Simple/Easy seem too broad (besides, AnyEvent doesn't seem easy even with a nice wrapper).
UPDATE: I released the code in question as AE::AdHoc. See http://search.cpan.org/~khedin/AE-AdHoc-0.08/lib/AE/AdHoc.pmIn reply to Simplified API for testing AnyEvent-related code by Dallaylaen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |