Here is my working example: http://svn.xantus.org/shortbus/trunk/cometd-perl/lab/aio.pl
David On 12/13/06, Rocco Caputo <[EMAIL PROTECTED]> wrote:
Although Marc Lehmann doesn't come out and say so, IO::AIO provides two features that support its use from POE in a couple different ways. It exposes a file descriptor, which can be used to notify select-like loops when AIO operations are complete. For example: # POE integration open my $fh, "<&=" . IO::AIO::poll_fileno or die "$!"; $_[KERNEL]->select_read($fh, "aio_event"); Or you can use its callback mechanism with POE::Session's postback() or callback(): aio_open "/etc/passwd", O_RDONLY, 0, $_[SESSION]->postback ("aio_open_event");
Whether you "should" use IO::AIO is a matter of your application's
requirements. Quite a lot of systems don't require AIO, so they shouldn't use IO::AIO. I hope this helps. -- Rocco Caputo - [EMAIL PROTECTED] On Dec 11, 2006, at 04:42, [EMAIL PROTECTED] wrote: > According to the documentation that only does buffered I/O. There are > many other file operations that can block, which IO::AIO deals with- > file opening and creation, closing and deletion, link/symlink, stat, > rename, etc. Does POE handle those as well? > > Matt Sickler wrote: >> why use IO::AIO when there is POE::Wheel::ReadWrite? >> >> On 9 Dec 2006 21:37:14 -0800, [EMAIL PROTECTED] >> <[EMAIL PROTECTED]> >> wrote: >>> >>> To avoid blocking when doing file operations under POE, shouldn't >>> IO::AIO be used? I haven't seen any mention or examples of two being >>> used together. If somebody has done this already, can they post an >>> example here or on the wiki. Thanks. >>> >>> Also, there was a brief mention [1] on the djabberd mailing list >>> that >>> Brad would like to bring Danga::Socket and POE together. Any >>> thoughts >>> from this camp? >>> >>> [1] http://lists.danga.com/pipermail/djabberd/2006-October/ >>> 000198.html >>> >>> >> >> ------=_Part_72409_23861310.1165808259206--