mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-30 00:46:04 +03:00
48 lines
875 B
PHP
48 lines
875 B
PHP
<?php
|
|
|
|
namespace Guzzle\Batch;
|
|
|
|
/**
|
|
* Divides batches into smaller batches under a certain size
|
|
*/
|
|
class BatchSizeDivisor implements BatchDivisorInterface
|
|
{
|
|
/** @var int Size of each batch */
|
|
protected $size;
|
|
|
|
/** @param int $size Size of each batch */
|
|
public function __construct($size)
|
|
{
|
|
$this->size = $size;
|
|
}
|
|
|
|
/**
|
|
* Set the size of each batch
|
|
*
|
|
* @param int $size Size of each batch
|
|
*
|
|
* @return BatchSizeDivisor
|
|
*/
|
|
public function setSize($size)
|
|
{
|
|
$this->size = $size;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get the size of each batch
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getSize()
|
|
{
|
|
return $this->size;
|
|
}
|
|
|
|
public function createBatches(\SplQueue $queue)
|
|
{
|
|
return array_chunk(iterator_to_array($queue, false), $this->size);
|
|
}
|
|
}
|