Lock abstraction (like the Cache)
- adding interface - adding seperate drivers - moving Lock to the Core package
This commit is contained in:
parent
258683b49a
commit
0218d16335
8 changed files with 396 additions and 223 deletions
38
src/Core/Lock/ILockDriver.php
Normal file
38
src/Core/Lock/ILockDriver.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Core\Lock;
|
||||
|
||||
/**
|
||||
* Lock Driver Interface
|
||||
*
|
||||
* @author Philipp Holzer <admin@philipp.info>
|
||||
*/
|
||||
interface ILockDriver
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @brief Acquires a lock for a given name
|
||||
*
|
||||
* @param string $key The Name of the lock
|
||||
* @param integer $timeout Seconds until we give up
|
||||
*
|
||||
* @return boolean Was the lock successful?
|
||||
*/
|
||||
public function acquireLock($key, $timeout = 120);
|
||||
|
||||
/**
|
||||
* @brief Releases a lock if it was set by us
|
||||
*
|
||||
* @param string $key Name of the lock
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function releaseLock($key);
|
||||
|
||||
/**
|
||||
* @brief Releases all lock that were set by us
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function releaseAll();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue