summaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/Batch.php
diff options
context:
space:
mode:
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.php92
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;
- }
- }
- }
-}