PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.22.4
JetBackup – Backup, Restore & Migrate v3.1.22.4
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / Destination / Vendors / GoogleDrive / ChunkedDownload.php
backup / src / JetBackup / Destination / Vendors / GoogleDrive Last commit date
Client 1 year ago .htaccess 1 year ago Cache.php 1 year ago ChunkedDownload.php 1 year ago ChunkedUpload.php 1 year ago DirIterator.php 1 year ago GoogleDrive.php 1 year ago index.html 1 year ago web.config 1 year ago
ChunkedDownload.php
34 lines
1 <?php
2
3 namespace JetBackup\Destination\Vendors\GoogleDrive;
4
5 use JetBackup\Destination\Integration\DestinationChunkedDownload;
6 use JetBackup\Exception\IOException;
7
8 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
9
10 class ChunkedDownload implements DestinationChunkedDownload {
11
12 private GoogleDrive $_client;
13 private string $_file_id;
14 private string $_destination;
15
16 public function __construct(GoogleDrive $client, $file_id, $destination) {
17 $this->_client = $client;
18 $this->_file_id = $file_id;
19 $this->_destination = $destination;
20 }
21
22 /**
23 * @param int $start
24 * @param int $end
25 *
26 * @return int
27 * @throws IOException
28 */
29 public function download(int $start, int $end):int {
30 return $this->_client->_retries(function() use ($start, $end) {
31 return $this->_client->getClient()->downloadChunk($this->_file_id, $this->_destination, $start, $end);
32 }, "Failed downloading chunk");
33 }
34 }