Server IP : 184.154.167.98 / Your IP : 18.117.8.84 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/www/sesiones/3rdparty/aws/aws-sdk-php/src/EndpointDiscovery/ |
Upload File : |
<?php namespace Aws\EndpointDiscovery; class EndpointList { private $active; private $expired = []; public function __construct(array $endpoints) { $this->active = $endpoints; reset($this->active); } /** * Gets an active (unexpired) endpoint. Returns null if none found. * * @return null|string */ public function getActive() { if (count($this->active) < 1) { return null; } while (time() > current($this->active)) { $key = key($this->active); $this->expired[$key] = current($this->active); $this->increment($this->active); unset($this->active[$key]); if (count($this->active) < 1) { return null; } } $active = key($this->active); $this->increment($this->active); return $active; } /** * Gets an active endpoint if possible, then an expired endpoint if possible. * Returns null if no endpoints found. * * @return null|string */ public function getEndpoint() { if (!empty($active = $this->getActive())) { return $active; } return $this->getExpired(); } /** * Removes an endpoint from both lists. * * @param string $key */ public function remove($key) { unset($this->active[$key]); unset($this->expired[$key]); } /** * Get an expired endpoint. Returns null if none found. * * @return null|string */ private function getExpired() { if (count($this->expired) < 1) { return null; } $expired = key($this->expired); $this->increment($this->expired); return $expired; } private function increment(&$array) { if (next($array) === false) { reset($array); } } }