<?php
-/**
- * @file
- * Contains \Drupal\memcache\MemcacheBackendFactory.
- */
-
namespace Drupal\memcache;
-use Drupal\Core\Lock\LockBackendInterface;
+use Drupal\Core\Cache\CacheFactoryInterface;
use Drupal\Core\Cache\CacheTagsChecksumInterface;
+use Drupal\memcache\Driver\MemcacheDriverFactory;
+use Drupal\memcache\Invalidator\TimestampInvalidatorInterface;
/**
- * Class DatabaseBackendFactory.
+ * Class MemcacheBackendFactory.
*/
-class MemcacheBackendFactory {
-
- /**
- * The lock backend that should be used.
- *
- * @var \Drupal\Core\Lock\LockBackendInterface
- */
- protected $lock;
-
- /**
- * The settings object.
- *
- * @var \Drupal\memcache\DrupalMemcacheConfig
- */
- protected $settings;
+class MemcacheBackendFactory implements CacheFactoryInterface {
/**
* The memcache factory object.
*
- * @var \Drupal\memcache\DrupalMemcacheFactory
+ * @var \Drupal\memcache\Driver\MemcacheDriverFactory
*/
protected $memcacheFactory;
protected $checksumProvider;
/**
- * Constructs the DatabaseBackendFactory object.
+ * The timestamp invalidation provider.
+ *
+ * @var \Drupal\memcache\Invalidator\TimestampInvalidatorInterface
+ */
+ protected $timestampInvalidator;
+
+ /**
+ * Constructs the MemcacheBackendFactory object.
*
- * @param \Drupal\Core\Lock\LockBackendInterface $lock
- * @param \Drupal\memcache\DrupalMemcacheConfig $settings
- * @param \Drupal\memcache\DrupalMemcacheFactory $memcache_factory
+ * @param \Drupal\memcache\Driver\MemcacheDriverFactory $memcache_factory
+ * The memcache factory object.
+ * @param \Drupal\Core\Cache\CacheTagsChecksumInterface $checksum_provider
+ * The cache tags checksum provider.
+ * @param \Drupal\memcache\Invalidator\TimestampInvalidatorInterface $timestamp_invalidator
+ * The timestamp invalidation provider.
*/
- function __construct(LockBackendInterface $lock, DrupalMemcacheConfig $settings, DrupalMemcacheFactory $memcache_factory, CacheTagsChecksumInterface $checksum_provider) {
- $this->lock = $lock;
- $this->settings = $settings;
+ public function __construct(MemcacheDriverFactory $memcache_factory, CacheTagsChecksumInterface $checksum_provider, TimestampInvalidatorInterface $timestamp_invalidator) {
$this->memcacheFactory = $memcache_factory;
$this->checksumProvider = $checksum_provider;
+ $this->timestampInvalidator = $timestamp_invalidator;
}
/**
* Gets MemcacheBackend for the specified cache bin.
*
- * @param $bin
+ * @param string $bin
* The cache bin for which the object is created.
*
* @return \Drupal\memcache\MemcacheBackend
return new MemcacheBackend(
$bin,
$this->memcacheFactory->get($bin),
- $this->lock,
- $this->settings,
- $this->checksumProvider
+ $this->checksumProvider,
+ $this->timestampInvalidator
);
}