PHPDaemon\FS\File::readAllChunkedGenHandler PHP Method

readAllChunkedGenHandler() protected method

Generates closure-callback for readAllChunked
protected readAllChunkedGenHandler ( callable $cb, callable $chunkcb, integer $size, integer &$offset, integer $pri ) : callable
$cb callable
$chunkcb callable
$size integer
$offset integer
$pri integer
return callable
    protected function readAllChunkedGenHandler($cb, $chunkcb, $size, &$offset, $pri)
    {
        return function ($file, $data) use($cb, $chunkcb, $size, &$offset, $pri) {
            $chunkcb($file, $data);
            $offset += mb_orig_strlen($data);
            $len = min($file->chunkSize, $size - $offset);
            if ($offset >= $size) {
                $cb($file, true);
                return;
            }
            eio_read($file->fd, $len, $offset, $pri, $this->readAllChunkedGenHandler($cb, $chunkcb, $size, $offset, $pri), $file);
        };
    }