22 lines
463 B
PHP
22 lines
463 B
PHP
<?php
|
|
|
|
namespace WP_Ultimo\Dependencies\Amp\Sync;
|
|
|
|
use WP_Ultimo\Dependencies\Amp\Promise;
|
|
final class StaticKeyMutex implements Mutex
|
|
{
|
|
/** @var KeyedMutex */
|
|
private $mutex;
|
|
/** @var string */
|
|
private $key;
|
|
public function __construct(KeyedMutex $mutex, string $key)
|
|
{
|
|
$this->mutex = $mutex;
|
|
$this->key = $key;
|
|
}
|
|
public function acquire() : Promise
|
|
{
|
|
return $this->mutex->acquire($this->key);
|
|
}
|
|
}
|