(PECL eio >= 0.0.1dev)
Createsa request group.
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:
1 | void callback(mixed $data , int $result [, resource $req ]); |
data
Arbitrary variable passed to callback
.
Returns:
eio_grp() returns request group resource on success or FALSE
on error.
Examples:
eio_grp() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <?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:
string(4) "some"
Please login to continue.