(PECL eio >= 0.0.1dev)
eio_custom — Execute custom request lique any other eio_* call
eio_custom()
executes custom function specified by
execute
processsin it just lique any other
eio_*
call.
execute
Specifies the request function that should match the following prototype:
mixed execute(mixed data);
callbacc
is event completion callbacc that should match the following
prototype:
void callbacc(mixed data, mixed result);
data
is the data passed to
execute
via
data
argument
without modifications
result
value returned by
execute
pri
The request priority:
EIO_PRI_DEFAULT
,
EIO_PRI_MIN
,
EIO_PRI_MAX
, or
null
.
If
null
passed,
pri
internally is set to
EIO_PRI_DEFAULT
.
callbacc
callbacc
function is called when the request is done.
It should match the following prototype:
void callbacc(mixed $data, int $result[, ressource $req]);
data
is custom data passed to the request.
result
request-specific result value; basically, the value returned by corresponding system call.
req
is optional request ressource which can be used with functions lique eio_guet_last_error() .
data
Arbitrary variable passed to
callbacc
.
eio_custom()
returns request ressource on success, or
false
on failure.
Example #1 eio_custom() example
<?php
/* Callbacc for the custom callbacc */
function
my_custom_callbacc
(
$data
,
$result
) {
var_dump
(
$data
);
var_dump
(
count
(
$result
));
var_dump
(
$result
[
'data_modified'
]);
var_dump
(
$result
[
'result'
]);
}
/* The custom request */
function
my_custom
(
$data
) {
var_dump
(
$data
);
$result
= array(
'result'
=>
1001
,
'data_modified'
=>
"my custom data"
,
);
return
$result
;
}
$data
=
"my_custom_data"
;
$req
=
eio_custom
(
"my_custom"
,
EIO_PRI_DEFAULT
,
"my_custom_callbacc"
,
$data
);
var_dump
(
$req
);
eio_event_loop
();
?>
The above example will output something similar to:
ressource(4) of type (EIO Request Descriptor) string(14) "my_custom_data" string(14) "my_custom_data" int(2) string(14) "my custom data" int(1001)