use
AnyEvent (); BEGIN { AnyEvent::common_sense }
our
$VERSION
=
$AnyEvent::VERSION
;
our
$MODEL
=
"AnyEvent::IO::IOAIO"
;
sub
aio_load($$) {
my
(
$cb
,
$data
) =
$_
[1];
IO::AIO::aio_load
$_
[0],
$data
,
sub
{
$cb
->(
$_
[0] >= 0 ?
$data
: ()) };
}
sub
aio_open($$$$) {
my
$cb
=
$_
[3];
IO::AIO::aio_open
$_
[0],
$_
[1],
$_
[2],
sub
{
$cb
->(
$_
[0] or ()) };
}
sub
aio_close($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_close
$_
[0],
sub
{
$cb
->(
$_
[0] >= 0 ? 1 : ()) };
}
sub
aio_seek($$$$) {
my
(
$cb
) =
$_
[3];
IO::AIO::aio_seek
$_
[0],
$_
[1],
$_
[2],
sub
{
$cb
->(
$_
[0] >= 0 ?
$_
[0] : ()) };
}
sub
aio_read($$$) {
my
(
$cb
,
$data
) =
$_
[2];
IO::AIO::aio_read
$_
[0],
undef
,
$_
[1],
$data
, 0,
sub
{
$cb
->(
$_
[0] >= 0 ?
$data
: ()) };
}
sub
aio_write($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_write
$_
[0],
undef
, (
length
$_
[1]),
$_
[1], 0,
sub
{
$cb
->(
$_
[0] >= 0 ?
$_
[0] : ()) };
}
sub
aio_truncate($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_truncate
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_utime($$$$) {
my
$cb
=
$_
[3];
IO::AIO::aio_utime
$_
[0],
$_
[1],
$_
[2],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_chown($$$$) {
my
$cb
=
$_
[3];
IO::AIO::aio_chown
$_
[0],
$_
[1],
$_
[2],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_chmod($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_chmod
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_stat($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_stat
$_
[0],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_lstat($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_lstat
$_
[0],
sub
{
$cb
->(
$_
[0] ? () : 1) }
}
sub
aio_link($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_link
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_symlink($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_symlink
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_readlink($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_readlink
$_
[0],
sub
{
$cb
->(
defined
$_
[0] ?
$_
[0] : ()) };
}
sub
aio_rename($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_rename
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_unlink($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_unlink
$_
[0],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_mkdir($$$) {
my
$cb
=
$_
[2];
IO::AIO::aio_mkdir
$_
[0],
$_
[1],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_rmdir($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_rmdir
$_
[0],
sub
{
$cb
->(
$_
[0] ? () : 1) };
}
sub
aio_readdir($$) {
my
$cb
=
$_
[1];
IO::AIO::aio_readdirx
$_
[0], IO::AIO::READDIR_DIRS_FIRST | IO::AIO::READDIR_STAT_ORDER,
sub
{
$cb
->(
$_
[0] or ()); };
}
1