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.5 by root, Sun Jul 10 21:04:24 2005 UTC vs.
Revision 1.9 by root, Sun Jul 10 22:20:55 2005 UTC

3IO::AIO - Asynchronous Input/Output 3IO::AIO - Asynchronous Input/Output
4 4
5=head1 SYNOPSIS 5=head1 SYNOPSIS
6 6
7 use IO::AIO; 7 use IO::AIO;
8
9 aio_open "/etc/passwd", O_RDONLY, 0, sub {
10 my ($fh) = @_;
11 ...
12 };
13
14 aio_unlink "/tmp/file", sub { };
15
16 aio_read $fh, 30000, 1024, $buffer, 0, sub {
17 $_[0] > 0 or die "read error: $!";
18 };
19
20 # Event
21 Event->io (fd => IO::AIO::poll_fileno,
22 poll => 'r',
23 cb => \&IO::AIO::poll_cb);
24
25 # Glib/Gtk2
26 add_watch Glib::IO IO::AIO::poll_fileno,
27 \&IO::AIO::poll_cb;
28
29 # Tk
30 Tk::Event::IO->fileevent (IO::AIO::poll_fileno, "",
31 readable => \&IO::AIO::poll_cb);
8 32
9=head1 DESCRIPTION 33=head1 DESCRIPTION
10 34
11This module implements asynchronous I/O using whatever means your 35This module implements asynchronous I/O using whatever means your
12operating system supports. 36operating system supports.
104 128
105Example: Read 15 bytes at offset 7 into scalar C<$buffer>, strating at 129Example: Read 15 bytes at offset 7 into scalar C<$buffer>, strating at
106offset C<0> within the scalar: 130offset C<0> within the scalar:
107 131
108 aio_read $fh, 7, 15, $buffer, 0, sub { 132 aio_read $fh, 7, 15, $buffer, 0, sub {
109 $_[0] >= 0 or die "read error: $!"; 133 $_[0] > 0 or die "read error: $!";
110 print "read <$buffer>\n"; 134 print "read $_[0] bytes: <$buffer>\n";
111 }; 135 };
112 136
113=item aio_readahead $fh,$offset,$length, $callback 137=item aio_readahead $fh,$offset,$length, $callback
114 138
115Asynchronously reads the specified byte range into the page cache, using 139Asynchronously reads the specified byte range into the page cache, using

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines