… | |
… | |
1931 | |
1931 | |
1932 | This is a very bad function to use in interactive programs because it |
1932 | This is a very bad function to use in interactive programs because it |
1933 | blocks, and a bad way to reduce concurrency because it is inexact: Better |
1933 | blocks, and a bad way to reduce concurrency because it is inexact: Better |
1934 | use an C<aio_group> together with a feed callback. |
1934 | use an C<aio_group> together with a feed callback. |
1935 | |
1935 | |
1936 | It's main use is in scripts without an event loop - when you want to stat |
1936 | Its main use is in scripts without an event loop - when you want to stat |
1937 | a lot of files, you can write somehting like this: |
1937 | a lot of files, you can write somehting like this: |
1938 | |
1938 | |
1939 | IO::AIO::max_outstanding 32; |
1939 | IO::AIO::max_outstanding 32; |
1940 | |
1940 | |
1941 | for my $path (...) { |
1941 | for my $path (...) { |
… | |
… | |
1981 | |
1981 | |
1982 | =back |
1982 | =back |
1983 | |
1983 | |
1984 | =head3 MISCELLANEOUS FUNCTIONS |
1984 | =head3 MISCELLANEOUS FUNCTIONS |
1985 | |
1985 | |
1986 | IO::AIO implements some functions that might be useful, but are not |
1986 | IO::AIO implements some functions that are useful when you want to use |
1987 | asynchronous. |
1987 | some "Advanced I/O" function not available to in Perl, without going the |
|
|
1988 | "Asynchronous I/O" route. Many of these have an asynchronous C<aio_*> |
|
|
1989 | counterpart. |
1988 | |
1990 | |
1989 | =over 4 |
1991 | =over 4 |
1990 | |
1992 | |
1991 | =item IO::AIO::sendfile $ofh, $ifh, $offset, $count |
1993 | =item IO::AIO::sendfile $ofh, $ifh, $offset, $count |
1992 | |
1994 | |
… | |
… | |
2110 | |
2112 | |
2111 | See the C<splice(2)> manpage for details. |
2113 | See the C<splice(2)> manpage for details. |
2112 | |
2114 | |
2113 | =item IO::AIO::tee $r_fh, $w_fh, $length, $flags |
2115 | =item IO::AIO::tee $r_fh, $w_fh, $length, $flags |
2114 | |
2116 | |
2115 | Calls the GNU/Linux C<tee(2)> syscall, see it's manpage and the |
2117 | Calls the GNU/Linux C<tee(2)> syscall, see its manpage and the |
2116 | description for C<IO::AIO::splice> above for details. |
2118 | description for C<IO::AIO::splice> above for details. |
2117 | |
2119 | |
2118 | =item $actual_size = IO::AIO::pipesize $r_fh[, $new_size] |
2120 | =item $actual_size = IO::AIO::pipesize $r_fh[, $new_size] |
2119 | |
2121 | |
2120 | Attempts to query or change the pipe buffer size. Obviously works only |
2122 | Attempts to query or change the pipe buffer size. Obviously works only |