diff options
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php')
-rw-r--r-- | apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php deleted file mode 100644 index 4d41c54f887..00000000000 --- a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php - -namespace Guzzle\Batch; - -use Guzzle\Batch\Exception\BatchTransferException; - -/** - * Default batch implementation used to convert queued items into smaller chunks of batches using a - * {@see BatchDivisorIterface} and transfers each batch using a {@see BatchTransferInterface}. - * - * Any exception encountered during a flush operation will throw a {@see BatchTransferException} object containing the - * batch that failed. After an exception is encountered, you can flush the batch again to attempt to finish transferring - * any previously created batches or queued items. - */ -class Batch implements BatchInterface -{ - /** @var \SplQueue Queue of items in the queue */ - protected $queue; - - /** @var array Divided batches to be transferred */ - protected $dividedBatches; - - /** @var BatchTransferInterface */ - protected $transferStrategy; - - /** @var BatchDivisorInterface */ - protected $divisionStrategy; - - /** - * @param BatchTransferInterface $transferStrategy Strategy used to transfer items - * @param BatchDivisorInterface $divisionStrategy Divisor used to create batches - */ - public function __construct(BatchTransferInterface $transferStrategy, BatchDivisorInterface $divisionStrategy) - { - $this->transferStrategy = $transferStrategy; - $this->divisionStrategy = $divisionStrategy; - $this->queue = new \SplQueue(); - $this->queue->setIteratorMode(\SplQueue::IT_MODE_DELETE); - $this->dividedBatches = array(); - } - - public function add($item) - { - $this->queue->enqueue($item); - - return $this; - } - - public function flush() - { - $this->createBatches(); - - $items = array(); - foreach ($this->dividedBatches as $batchIndex => $dividedBatch) { - while ($dividedBatch->valid()) { - $batch = $dividedBatch->current(); - $dividedBatch->next(); - try { - $this->transferStrategy->transfer($batch); - $items = array_merge($items, $batch); - } catch (\Exception $e) { - throw new BatchTransferException($batch, $items, $e, $this->transferStrategy, $this->divisionStrategy); - } - } - // Keep the divided batch down to a minimum in case of a later exception - unset($this->dividedBatches[$batchIndex]); - } - - return $items; - } - - public function isEmpty() - { - return count($this->queue) == 0 && count($this->dividedBatches) == 0; - } - - /** - * Create batches for any queued items - */ - protected function createBatches() - { - if (count($this->queue)) { - if ($batches = $this->divisionStrategy->createBatches($this->queue)) { - // Convert arrays into iterators - if (is_array($batches)) { - $batches = new \ArrayIterator($batches); - } - $this->dividedBatches[] = $batches; - } - } - } -} |