diff options
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php')
-rw-r--r-- | apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php deleted file mode 100644 index d55ac7d1f32..00000000000 --- a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Batch/BatchCommandTransfer.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php - -namespace Guzzle\Batch; - -use Guzzle\Batch\BatchTransferInterface; -use Guzzle\Batch\BatchDivisorInterface; -use Guzzle\Common\Exception\InvalidArgumentException; -use Guzzle\Service\Command\CommandInterface; -use Guzzle\Service\Exception\InconsistentClientTransferException; - -/** - * Efficiently transfers multiple commands in parallel per client - * This class is to be used with {@see Guzzle\Batch\BatchInterface} - */ -class BatchCommandTransfer implements BatchTransferInterface, BatchDivisorInterface -{ - /** @var int Size of each command batch */ - protected $batchSize; - - /** - * @param int $batchSize Size of each batch - */ - public function __construct($batchSize = 50) - { - $this->batchSize = $batchSize; - } - - /** - * Creates batches by grouping commands by their associated client - * {@inheritdoc} - */ - public function createBatches(\SplQueue $queue) - { - $groups = new \SplObjectStorage(); - foreach ($queue as $item) { - if (!$item instanceof CommandInterface) { - throw new InvalidArgumentException('All items must implement Guzzle\Service\Command\CommandInterface'); - } - $client = $item->getClient(); - if (!$groups->contains($client)) { - $groups->attach($client, new \ArrayObject(array($item))); - } else { - $groups[$client]->append($item); - } - } - - $batches = array(); - foreach ($groups as $batch) { - $batches = array_merge($batches, array_chunk($groups[$batch]->getArrayCopy(), $this->batchSize)); - } - - return $batches; - } - - public function transfer(array $batch) - { - if (empty($batch)) { - return; - } - - // Get the client of the first found command - $client = reset($batch)->getClient(); - - // Keep a list of all commands with invalid clients - $invalid = array_filter($batch, function ($command) use ($client) { - return $command->getClient() !== $client; - }); - - if (!empty($invalid)) { - throw new InconsistentClientTransferException($invalid); - } - - $client->execute($batch); - } -} |