| Total Complexity | 5 |
| Total Lines | 37 |
| Duplicated Lines | 0 % |
| Coverage | 92.31% |
| Changes | 0 | ||
| 1 | <?php |
||
| 11 | class RoundRobin implements DistributionAlgorithmInterface |
||
| 12 | { |
||
| 13 | /** |
||
| 14 | * @var \Aoe\Asdis\Domain\Model\Server\Collection |
||
| 15 | */ |
||
| 16 | private $servers; |
||
| 17 | |||
| 18 | /** |
||
| 19 | * Distributes the given assets to the given servers. |
||
| 20 | * |
||
| 21 | * @param \Aoe\Asdis\Domain\Model\Asset\Collection $assets |
||
| 22 | * @param \Aoe\Asdis\Domain\Model\Server\Collection $servers |
||
| 23 | * @return void |
||
| 24 | */ |
||
| 25 | 1 | public function distribute(AssetCollection $assets, ServerCollection $servers) |
|
| 26 | { |
||
| 27 | 1 | if ($servers->count() < 1) { |
|
| 28 | return; |
||
| 29 | } |
||
| 30 | 1 | $this->servers = $servers; |
|
| 31 | 1 | foreach($assets as $asset) { |
|
| 32 | /** @var \Aoe\Asdis\Domain\Model\Asset $asset */ |
||
| 33 | 1 | $asset->setServer($this->getNextServer()); |
|
| 34 | } |
||
| 35 | 1 | } |
|
| 36 | |||
| 37 | /** |
||
| 38 | * @return \Aoe\Asdis\Domain\Model\Server |
||
| 39 | */ |
||
| 40 | 1 | private function getNextServer() |
|
| 48 | } |
||
| 49 | } |