5 * Contains \Drupal\memcache\Lock\MemcacheLockFactory.
8 namespace Drupal\memcache\Lock;
10 use Drupal\memcache\DrupalMemcacheFactory;
13 * THe memcache lock factory.
15 class MemcacheLockFactory {
18 * The bin name for this lock.
22 protected $bin = 'semaphore';
25 * The memcache factory.
27 * @var \Drupal\memcache\DrupalMemcacheFactory
32 * Constructs a new MemcacheLockBackend.
34 * @param \Drupal\memcache\DrupalMemcacheFactory $memcache_factory
36 public function __construct(DrupalMemcacheFactory $memcache_factory) {
37 $this->factory = $memcache_factory;
41 * Gets a lock backend instance.
43 * @return \Drupal\Core\Lock\LockBackendInterface
45 public function get() {
46 return new MemcacheLockBackend($this->bin, $this->factory->get($this->bin));
50 * Gets a persistent lock backend instance.
52 * @return \Drupal\Core\Lock\LockBackendInterface
54 public function getPersistent() {
55 return new PersistentMemcacheLockBackend($this->bin, $this->factory->get($this->bin));