| @@ 582-595 (lines=14) @@ | ||
| 579 | * @param string &$buf |
|
| 580 | * @return callable |
|
| 581 | */ |
|
| 582 | protected function readAllGenHandler($cb, $size, &$offset, &$pri, &$buf) |
|
| 583 | { |
|
| 584 | return function ($file, $data) use ($cb, $size, &$offset, &$pri, &$buf) { |
|
| 585 | $buf .= $data; |
|
| 586 | $offset += mb_orig_strlen($data); |
|
| 587 | $len = min($file->chunkSize, $size - $offset); |
|
| 588 | if ($offset >= $size) { |
|
| 589 | if ($cb) { |
|
| 590 | $cb($file, $buf); |
|
| 591 | } |
|
| 592 | return; |
|
| 593 | } |
|
| 594 | eio_read($file->fd, $len, $offset, $pri, $this->readAllGenHandler($cb, $size, $offset, $pri, $buf), $this); |
|
| 595 | }; |
|
| 596 | } |
|
| 597 | ||
| 598 | /** |
|
| @@ 650-661 (lines=12) @@ | ||
| 647 | * @param integer $pri |
|
| 648 | * @return callable |
|
| 649 | */ |
|
| 650 | protected function readAllChunkedGenHandler($cb, $chunkcb, $size, &$offset, $pri) |
|
| 651 | { |
|
| 652 | return function ($file, $data) use ($cb, $chunkcb, $size, &$offset, $pri) { |
|
| 653 | $chunkcb($file, $data); |
|
| 654 | $offset += mb_orig_strlen($data); |
|
| 655 | $len = min($file->chunkSize, $size - $offset); |
|
| 656 | ||
| 657 | if ($offset >= $size) { |
|
| 658 | $cb($file, true); |
|
| 659 | return; |
|
| 660 | } |
|
| 661 | ||
| 662 | eio_read( |
|
| 663 | $file->fd, |
|
| 664 | $len, |
|