PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / php-http / client-common / src / HttpClientPool / RandomClientPool.php
ameliabooking / vendor / php-http / client-common / src / HttpClientPool Last commit date
LeastUsedClientPool.php 3 years ago RandomClientPool.php 3 years ago RoundRobinClientPool.php 3 years ago
RandomClientPool.php
32 lines
1 <?php
2
3 namespace AmeliaHttp\Client\Common\HttpClientPool;
4
5 use AmeliaHttp\Client\Common\Exception\HttpClientNotFoundException;
6 use AmeliaHttp\Client\Common\HttpClientPool;
7 use AmeliaHttp\Client\Common\HttpClientPoolItem;
8
9 /**
10 * RoundRobinClientPool will choose the next client in the pool.
11 *
12 * @author Joel Wurtz <joel.wurtz@gmail.com>
13 */
14 final class RandomClientPool extends HttpClientPool
15 {
16 /**
17 * {@inheritdoc}
18 */
19 protected function chooseHttpClient()
20 {
21 $clientPool = array_filter($this->clientPool, function (HttpClientPoolItem $clientPoolItem) {
22 return !$clientPoolItem->isDisabled();
23 });
24
25 if (0 === count($clientPool)) {
26 throw new HttpClientNotFoundException('Cannot choose a http client as there is no one present in the pool');
27 }
28
29 return $clientPool[array_rand($clientPool)];
30 }
31 }
32