首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Creates a request group.

Description

代码语言:javascript
复制
resource eio_grp ( callable $callback [, string $data = NULL ] )

eio_grp() creates a request group.

Parameters

callback

callback function is called when the request is done. It should match the following prototype:

代码语言:javascript
复制
void?callback(mixed?$data,?int?$result[,?resource?$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 resource which can be used with functions like eio_get_last_error()

代码语言:txt
复制
 `data`   

Arbitrary variable passed to callback.

Return Values

eio_grp() returns request group resource on success or FALSE on error.

Examples

Example #1 eio_grp() example

代码语言:javascript
复制
<?php
$temp_filename?=?dirname(__FILE__)?."/eio-file.tmp";
$fp?=?fopen($temp_filename,?"w");
fwrite($fp,?"some?data");
fclose($fp);
$my_file_fd?=?NULL;

/*?Is?called?when?the?group?requests?are?done?*/
function?my_grp_done($data,?$result)?{
?//?Remove?the?file,?if?it?still?exists
?@unlink($data);
}

/*?Is?called?when?the?temporary?file?is?opened?*/
function?my_grp_file_opened_callback($data,?$result)?{
?global?$my_file_fd,?$grp;

?$my_file_fd?=?$result;

?$req?=?eio_read($my_file_fd,?4,?0,
???EIO_PRI_DEFAULT,?"my_grp_file_read_callback");
?eio_grp_add($grp,?$req);
}

/*?Is?called?when?the?file?is?read?*/
function?my_grp_file_read_callback($data,?$result)?{
?global?$my_file_fd,?$grp;

?var_dump($result);

?//?Create?request?to?close?the?file
?$req?=?eio_close($my_file_fd);

?//?Add?request?to?the?group
?eio_grp_add($grp,?$req);
}

//?Create?request?group
$grp?=?eio_grp("my_grp_done",?$temp_filename);

//?Create?request
$req?=?eio_open($temp_filename,?EIO_O_RDWR?|?EIO_O_APPEND?,?NULL,
??EIO_PRI_DEFAULT,?"my_grp_file_opened_callback",?NULL);

//?Add?request?to?the?group
eio_grp_add($grp,?$req);

//?Process?requests
eio_event_loop();
?>

The above example will output something similar to:

代码语言:javascript
复制
string(4) "some"

See Also

  • eio_grp_cancel
  • eio_grp_add

← eio_grp_limit

eio_init →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com