class PersistentDatabaseLockBackend in Drupal driver for SQL Server and SQL Azure 8.2
Same name in this branch
- 8.2 src/Lock/PersistentDatabaseLockBackend.php \Drupal\sqlsrv\Lock\PersistentDatabaseLockBackend
- 8.2 src/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\sqlsrv\ProxyClass\Lock\PersistentDatabaseLockBackend
Provides a proxy class for \Drupal\couchbase\Lock\CouchbaseLockBackend.
Hierarchy
- class \Drupal\sqlsrv\ProxyClass\Lock\PersistentDatabaseLockBackend implements LockBackendInterface uses DependencySerializationTrait
Expanded class hierarchy of PersistentDatabaseLockBackend
See also
\Drupal\Component\ProxyBuilder
File
- src/
ProxyClass/ Lock/ PersistentDatabaseLockBackend.php, line 19 - Contains \Drupal\sqlsrv\ProxyClass\Lock\PersistentCouchbaseLockBackend.
Namespace
Drupal\sqlsrv\ProxyClass\LockView source
class PersistentDatabaseLockBackend implements \Drupal\Core\Lock\LockBackendInterface {
use \Drupal\Core\DependencyInjection\DependencySerializationTrait;
/**
* The id of the original proxied service.
*
* @var string
*/
protected $drupalProxyOriginalServiceId;
/**
* The real proxied service, after it was lazy loaded.
*
* @var \Drupal\Core\Lock\DatabaseLockBackend
*/
protected $service;
/**
* The service container.
*
* @var \Symfony\Component\DependencyInjection\ContainerInterface
*/
protected $container;
/**
* Constructs a ProxyClass Drupal proxy object.
*
* @param \Symfony\Component\DependencyInjection\ContainerInterface $container
* The container.
* @param string $drupal_proxy_original_service_id
* The service ID of the original service.
*/
public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container, $drupal_proxy_original_service_id) {
$this->container = $container;
$this->drupalProxyOriginalServiceId = $drupal_proxy_original_service_id;
}
/**
* Lazy loads the real service from the container.
*
* @return object
* Returns the constructed real service.
*/
protected function lazyLoadItself() {
if (!isset($this->service)) {
$this->service = $this->container
->get($this->drupalProxyOriginalServiceId);
}
return $this->service;
}
/**
* {@inheritdoc}
*/
public function acquire($name, $timeout = 30) {
return $this
->lazyLoadItself()
->acquire($name, $timeout);
}
/**
* {@inheritdoc}
*/
public function lockMayBeAvailable($name) {
return $this
->lazyLoadItself()
->lockMayBeAvailable($name);
}
/**
* {@inheritdoc}
*/
public function release($name) {
return $this
->lazyLoadItself()
->release($name);
}
/**
* {@inheritdoc}
*/
public function releaseAll($lock_id = null) {
return $this
->lazyLoadItself()
->releaseAll($lock_id);
}
/**
* {@inheritdoc}
*/
public function wait($name, $delay = 30) {
return $this
->lazyLoadItself()
->wait($name, $delay);
}
/**
* {@inheritdoc}
*/
public function getLockId() {
return $this
->lazyLoadItself()
->getLockId();
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
PersistentDatabaseLockBackend:: |
protected | property | The service container. | |
PersistentDatabaseLockBackend:: |
protected | property | The id of the original proxied service. | |
PersistentDatabaseLockBackend:: |
protected | property | The real proxied service, after it was lazy loaded. | |
PersistentDatabaseLockBackend:: |
public | function |
Acquires a lock. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function |
Gets the unique page token for locks. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
protected | function | Lazy loads the real service from the container. | |
PersistentDatabaseLockBackend:: |
public | function |
Checks if a lock is available for acquiring. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function |
Releases the given lock. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function |
Releases all locks for the given lock token identifier. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function |
Waits a short amount of time before a second lock acquire attempt. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function | Constructs a ProxyClass Drupal proxy object. |