(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
]]] )
eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file
descriptor fd with disk.
fd
File descriptor
offset
The 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($data, $result);
$data
は、リクエストに渡すカスタムデータです。
$result
にはリクエスト固有の結果が格納されます。基本的には、対応するシステムコールが返すそのままの値となります。
data
Arbitrary variable passed to callback.
eio_sync_file_range() returns request resource on success or FALSE on error.