--- Linux-AIO/AIO.pm 2001/08/14 03:18:53 1.1 +++ Linux-AIO/AIO.pm 2001/08/14 18:06:37 1.2 @@ -14,30 +14,51 @@ package Linux::AIO; +use base 'Exporter'; + BEGIN { $VERSION = 0.001; + @EXPORT = qw(aio_read aio_write); + @EXPORT_OK = qw(poll_fileno poll_cb min_parallel max_parallel nreqs); + require XSLoader; XSLoader::load Linux::AIO, $VERSION; } -use base 'Exporter'; - =item Linux::AIO::min_parallel($nthreads) Set the minimum number of AIO threads to $nthreads. =cut -=item Linux::AIO::read($fh,$offset,$length, $data,$dataoffset,$callback) -Linux::AIO::write($fh,$offset,$length, $data,$dataoffset,$callback) +=item aio_read($fh,$offset,$length, $data,$dataoffset,$callback) +aio_write($fh,$offset,$length, $data,$dataoffset,$callback) Reads or writes C bytes from the specified C and C into the scalar given by C and offset C and calls the callback without the actual number of bytes read (or undef on error). +=item $fileno = Linux::AIO::poll_fileno + +Return the request result pipe filehandle. This filehandle must be polled +for reading. If the pipe becomes readable you have to call C. + +=item Linux::AIO::poll_cb + +Process all outstanding events on the result pipe. You have to call this +regularly. Returns the number of events processed. + +=item Linux::AIO::nreqs + +Returns the number of requests currently outstanding. + =cut +END { + max_parallel 0; +} + 1; =back