Skip to content

Commit

Permalink
Merge pull request #39108 from fsamapoor/refactor_lib_private_lock
Browse files Browse the repository at this point in the history
Refactors lib/private/Lock
  • Loading branch information
come-nc authored Sep 26, 2023
2 parents 91959c9 + 40d9349 commit 740b38b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 19 deletions.
12 changes: 8 additions & 4 deletions lib/private/Lock/AbstractLockingProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,18 @@
* to release any leftover locks at the end of the request
*/
abstract class AbstractLockingProvider implements ILockingProvider {
/** how long until we clear stray locks in seconds */
protected int $ttl;

protected $acquiredLocks = [
protected array $acquiredLocks = [
'shared' => [],
'exclusive' => []
];

/**
*
* @param int $ttl how long until we clear stray locks in seconds
*/
public function __construct(protected int $ttl) {
}

/** @inheritDoc */
protected function hasAcquiredLock(string $path, int $type): bool {
if ($type === self::LOCK_SHARED) {
Expand Down
14 changes: 4 additions & 10 deletions lib/private/Lock/DBLockingProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,15 @@
* Locking provider that stores the locks in the database
*/
class DBLockingProvider extends AbstractLockingProvider {
private IDBConnection $connection;
private ITimeFactory $timeFactory;
private array $sharedLocks = [];
private bool $cacheSharedLocks;

public function __construct(
IDBConnection $connection,
ITimeFactory $timeFactory,
private IDBConnection $connection,
private ITimeFactory $timeFactory,
int $ttl = 3600,
bool $cacheSharedLocks = true
private bool $cacheSharedLocks = true
) {
$this->connection = $connection;
$this->timeFactory = $timeFactory;
$this->ttl = $ttl;
$this->cacheSharedLocks = $cacheSharedLocks;
parent::__construct($ttl);
}

/**
Expand Down
10 changes: 5 additions & 5 deletions lib/private/Lock/MemcacheLockingProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@
use OCP\Lock\LockedException;

class MemcacheLockingProvider extends AbstractLockingProvider {
private IMemcache $memcache;

public function __construct(IMemcache $memcache, int $ttl = 3600) {
$this->memcache = $memcache;
$this->ttl = $ttl;
public function __construct(
private IMemcache $memcache,
int $ttl = 3600,
) {
parent::__construct($ttl);
}

private function setTTL(string $path): void {
Expand Down

0 comments on commit 740b38b

Please sign in to comment.