(PECL eio >= 0.0.1dev)
eio_sync_file_range — Sync a file segment with disk
$fd
, int $offset
, int $nbytes
, int $flags
, int $pri = EIO_PRI_DEFAULT
, callable $callback = NULL
, mixed $data = NULL
) : resource
eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file
descriptor fd with disk.
fdFile descriptor
offsetThe starting byte of the file range to be synchronized
nbytes
Specifies the length of the range to be synchronized, in bytes. If
nbytes is zero, then all bytes from offset through
to the end of file are synchronized.
flags
A bit-mask. Can include any of the following values:
EIO_SYNC_FILE_RANGE_WAIT_BEFORE,
EIO_SYNC_FILE_RANGE_WRITE,
EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have
the same meaning as their SYNC_FILE_RANGE_*
counterparts(see SYNC_FILE_RANGE(2) man page).
pri请求的优先级:EIO_PRI_DEFAULT,EIO_PRI_MIN,EIO_PRI_MAX 或 null。如果是
null,pri 将设为
EIO_PRI_DEFAULT。
callback
callback
函数在请求完成时被调用。其应匹配一下原型:
void callback(mixed $data, int $result[, resource $req]);
data传递给请求的用户数据。
result针对请求的结果的值。通常是相应的系统调用返回的值。
req可选的请求资源,可被 eio_get_last_error() 之类的函数使用。
data
Arbitrary variable passed to callback.
eio_sync_file_range() returns request resource on success, 或者在失败时返回 false.