(PECL eio >= 0.0.1dev)
eio_sync_file_range — Синхронизирует сегмент файла с данными файла на внешнем хранилище
$fd
, int $offset
, int $nbytes
, int $flags
[, int $pri = EIO_PRI_DEFAULT
[, callable $callback = NULL
[, mixed $data = NULL
]]] )
eio_sync_file_range() осуществляет необходимые проверки
и действия при синхронизации открытого файла fd
с дисковой подсистемой.
fdФайловый описатель
offsetНачальная позиция, с которой будет проводиться синхронизация
nbytes
Задает длину сегмента файла в байтах, которую необходимо синхронизировать.
Если nbytes равно нулю, будут синхронизированы все
данные от offset до конца файла.
flags
Битовая маска. Может включать комбинацию из следующих значений:
EIO_SYNC_FILE_RANGE_WAIT_BEFORE,
EIO_SYNC_FILE_RANGE_WRITE,
EIO_SYNC_FILE_RANGE_WAIT_AFTER. Эти флаги имеют то же
предназначение, что и аналогичные SYNC_FILE_RANGE_*
константы (см. страницу руководства SYNC_FILE_RANGE(2)).
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
Данные, которые необходимо передать функции callback.
eio_sync_file_range() возвращает ресурс запроса или FALSE
в случае ошибки.