=head1 NAME AnyEvent::AIO - truly asynchronous file and directory I/O =head1 SYNOPSIS use AnyEvent::AIO; use IO::AIO; # can now use any of the aio requests your IO::AIO module supports # as long as you use an event loop supported by AnyEvent. =head1 DESCRIPTION This module is an L user, you need to make sure that you use and run a supported event loop. Loading this module will install the necessary magic to seamlessly integrate L into L, i.e. you no longer need to concern yourself with calling C or any of that stuff (you still can, but this module will do it in case you don't). The AnyEvent watcher can be disabled by executing C. Please notify the author of when and why you think this was necessary. =cut package AnyEvent::AIO; use common::sense; use AnyEvent (); use IO::AIO (); use base Exporter::; our $VERSION = '1.1'; our $WATCHER; my $guard = AnyEvent::post_detect { $WATCHER = AE::io IO::AIO::poll_fileno, 0, \&IO::AIO::poll_cb; }; $WATCHER ||= $guard; IO::AIO::_on_next_submit \&AnyEvent::detect; =head1 SEE ALSO L, L (for a more natural syntax). =head1 AUTHOR Marc Lehmann http://home.schmorp.de/ =cut 1