Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Lock] Split \"StoreInterface\" into multiple interfaces with less re…
…sponsability
- Loading branch information
Showing
16 changed files
with
291 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of the Symfony package. | ||
* | ||
* (c) Fabien Potencier <fabien@symfony.com> | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Symfony\Component\Lock; | ||
|
||
use Symfony\Component\Lock\Exception\LockConflictedException; | ||
use Symfony\Component\Lock\Exception\NotSupportedException; | ||
|
||
/** | ||
* @author Hamza Amrouche <hamza.simperfit@gmail.com> | ||
*/ | ||
interface BlockingStoreInterface | ||
{ | ||
/** | ||
* Waits until a key becomes free, then stores the resource. | ||
* | ||
* If the store does not support this feature it should throw a NotSupportedException. | ||
* | ||
* @throws LockConflictedException | ||
* @throws NotSupportedException | ||
*/ | ||
public function waitAndSave(Key $key); | ||
|
||
/** | ||
* Checks if the store can wait until a key becomes free before storing the resource. | ||
*/ | ||
public function supportsWaitAndSave(): bool; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of the Symfony package. | ||
* | ||
* (c) Fabien Potencier <fabien@symfony.com> | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Symfony\Component\Lock; | ||
|
||
use Symfony\Component\Lock\Exception\LockAcquiringException; | ||
use Symfony\Component\Lock\Exception\LockConflictedException; | ||
use Symfony\Component\Lock\Exception\LockReleasingException; | ||
|
||
/** | ||
* @author Jérémy Derussé <jeremy@derusse.com> | ||
*/ | ||
interface PersistStoreInterface | ||
{ | ||
/** | ||
* Stores the resource if it's not locked by someone else. | ||
* | ||
* @throws LockAcquiringException | ||
* @throws LockConflictedException | ||
*/ | ||
public function save(Key $key); | ||
|
||
/** | ||
* Removes a resource from the storage. | ||
* | ||
* @throws LockReleasingException | ||
*/ | ||
public function delete(Key $key); | ||
|
||
/** | ||
* Returns whether or not the resource exists in the storage. | ||
* | ||
* @return bool | ||
*/ | ||
public function exists(Key $key); | ||
|
||
/** | ||
* Extends the TTL of a resource. | ||
* | ||
* @param float $ttl amount of seconds to keep the lock in the store | ||
* | ||
* @throws LockConflictedException | ||
*/ | ||
public function putOffExpiration(Key $key, $ttl); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.