Viewing file: UploadState.php (3.26 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace Aws\Multipart;
/** * Representation of the multipart upload. * * This object keeps track of the state of the upload, including the status and * which parts have been uploaded. */ class UploadState { const CREATED = 0; const INITIATED = 1; const COMPLETED = 2;
/** @var array Params used to identity the upload. */ private $id;
/** @var int Part size being used by the upload. */ private $partSize;
/** @var array Parts that have been uploaded. */ private $uploadedParts = [];
/** @var int Identifies the status the upload. */ private $status = self::CREATED;
/** * @param array $id Params used to identity the upload. */ public function __construct(array $id) { $this->id = $id; }
/** * Get the upload's ID, which is a tuple of parameters that can uniquely * identify the upload. * * @return array */ public function getId() { return $this->id; }
/** * Set's the "upload_id", or 3rd part of the upload's ID. This typically * only needs to be done after initiating an upload. * * @param string $key The param key of the upload_id. * @param string $value The param value of the upload_id. */ public function setUploadId($key, $value) { $this->id[$key] = $value; }
/** * Get the part size. * * @return int */ public function getPartSize() { return $this->partSize; }
/** * Set the part size. * * @param $partSize int Size of upload parts. */ public function setPartSize($partSize) { $this->partSize = $partSize; }
/** * Marks a part as being uploaded. * * @param int $partNumber The part number. * @param array $partData Data from the upload operation that needs to be * recalled during the complete operation. */ public function markPartAsUploaded($partNumber, array $partData = []) { $this->uploadedParts[$partNumber] = $partData; }
/** * Returns whether a part has been uploaded. * * @param int $partNumber The part number. * * @return bool */ public function hasPartBeenUploaded($partNumber) { return isset($this->uploadedParts[$partNumber]); }
/** * Returns a sorted list of all the uploaded parts. * * @return array */ public function getUploadedParts() { ksort($this->uploadedParts);
return $this->uploadedParts; }
/** * Set the status of the upload. * * @param int $status Status is an integer code defined by the constants * CREATED, INITIATED, and COMPLETED on this class. */ public function setStatus($status) { $this->status = $status; }
/** * Determines whether the upload state is in the INITIATED status. * * @return bool */ public function isInitiated() { return $this->status === self::INITIATED; }
/** * Determines whether the upload state is in the COMPLETED status. * * @return bool */ public function isCompleted() { return $this->status === self::COMPLETED; } }
|