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

Comparing IO-AIO/AIO.pm (file contents):
Revision 1.138 by root, Sun Oct 12 21:51:33 2008 UTC vs.
Revision 1.141 by root, Wed Oct 22 16:30:49 2008 UTC

193use strict 'vars'; 193use strict 'vars';
194 194
195use base 'Exporter'; 195use base 'Exporter';
196 196
197BEGIN { 197BEGIN {
198 our $VERSION = '3.1'; 198 our $VERSION = '3.16';
199 199
200 our @AIO_REQ = qw(aio_sendfile aio_read aio_write aio_open aio_close 200 our @AIO_REQ = qw(aio_sendfile aio_read aio_write aio_open aio_close
201 aio_stat aio_lstat aio_unlink aio_rmdir aio_readdir 201 aio_stat aio_lstat aio_unlink aio_rmdir aio_readdir
202 aio_scandir aio_symlink aio_readlink aio_sync aio_fsync 202 aio_scandir aio_symlink aio_readlink aio_sync aio_fsync
203 aio_fdatasync aio_pathsync aio_readahead 203 aio_fdatasync aio_pathsync aio_readahead
1060=item feed $grp $callback->($grp) 1060=item feed $grp $callback->($grp)
1061 1061
1062Sets a feeder/generator on this group: every group can have an attached 1062Sets a feeder/generator on this group: every group can have an attached
1063generator that generates requests if idle. The idea behind this is that, 1063generator that generates requests if idle. The idea behind this is that,
1064although you could just queue as many requests as you want in a group, 1064although you could just queue as many requests as you want in a group,
1065this might starve other requests for a potentially long time. For 1065this might starve other requests for a potentially long time. For example,
1066example, C<aio_scandir> might generate hundreds of thousands C<aio_stat> 1066C<aio_scandir> might generate hundreds of thousands C<aio_stat> requests,
1067requests, delaying any later requests for a long time. 1067delaying any later requests for a long time.
1068 1068
1069To avoid this, and allow incremental generation of requests, you can 1069To avoid this, and allow incremental generation of requests, you can
1070instead a group and set a feeder on it that generates those requests. The 1070instead a group and set a feeder on it that generates those requests. The
1071feed callback will be called whenever there are few enough (see C<limit>, 1071feed callback will be called whenever there are few enough (see C<limit>,
1072below) requests active in the group itself and is expected to queue more 1072below) requests active in the group itself and is expected to queue more

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines