Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
212
/
root
/
srv
/
data
/
web
/
vhosts
/
www.impressionrapide.fr
/
htdocs
/
vendor
/
symfony
/
lock
/
//proc/212/root/srv/data/web/vhosts/www.impressionrapide.fr/htdocs/vendor/symfony/lock/Key.php
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Lock; use Symfony\Component\Lock\Exception\UnserializableKeyException; /** * Key is a container for the state of the locks in stores. * * @author Jérémy Derussé <jeremy@derusse.com> */ final class Key { private $resource; private $expiringTime; private $state = []; private $serializable = true; public function __construct(string $resource) { $this->resource = $resource; } public function __toString(): string { return $this->resource; } public function hasState(string $stateKey): bool { return isset($this->state[$stateKey]); } public function setState(string $stateKey, $state): void { $this->state[$stateKey] = $state; } public function removeState(string $stateKey): void { unset($this->state[$stateKey]); } public function getState(string $stateKey) { return $this->state[$stateKey]; } public function markUnserializable(): void { $this->serializable = false; } public function resetLifetime() { $this->expiringTime = null; } /** * @param float $ttl the expiration delay of locks in seconds */ public function reduceLifetime(float $ttl) { $newTime = microtime(true) + $ttl; if (null === $this->expiringTime || $this->expiringTime > $newTime) { $this->expiringTime = $newTime; } } /** * Returns the remaining lifetime in seconds. */ public function getRemainingLifetime(): ?float { return null === $this->expiringTime ? null : $this->expiringTime - microtime(true); } public function isExpired(): bool { return null !== $this->expiringTime && $this->expiringTime <= microtime(true); } public function __sleep(): array { if (!$this->serializable) { throw new UnserializableKeyException('The key cannot be serialized.'); } return ['resource', 'expiringTime', 'state']; } }