Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / memcache / src / Lock / MemcacheLockFactory.php
1 <?php
2
3 namespace Drupal\memcache\Lock;
4
5 use Drupal\memcache\Driver\MemcacheDriverFactory;
6
7 /**
8  * THe memcache lock factory.
9  */
10 class MemcacheLockFactory {
11
12   /**
13    * The bin name for this lock.
14    *
15    * @var string
16    */
17   protected $bin = 'semaphore';
18
19   /**
20    * The memcache factory.
21    *
22    * @var \Drupal\memcache\Driver\MemcacheDriverFactory
23    */
24   protected $factory;
25
26   /**
27    * Constructs a new MemcacheLockFactory.
28    *
29    * @param \Drupal\memcache\Driver\MemcacheDriverFactory $memcache_factory
30    *   The memcache factory.
31    */
32   public function __construct(MemcacheDriverFactory $memcache_factory) {
33     $this->factory = $memcache_factory;
34   }
35
36   /**
37    * Gets a lock backend instance.
38    *
39    * @return \Drupal\Core\Lock\LockBackendInterface
40    *   A locked Memcache backend instance.
41    */
42   public function get() {
43     return new MemcacheLockBackend($this->bin, $this->factory->get($this->bin));
44   }
45
46 }