Creado apartir del commit b888de6c92056de294456f581a56e25e734d4ab7 de develop
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
namespace adas_core.Application.Services.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Contrato genérico para un proveedor de locks por clave.
|
||||
/// CacheService usará una implementación local en memoria.
|
||||
/// RedisService podría usar una distribuida (si fuera necesario).
|
||||
/// </summary>
|
||||
public interface ILockProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Intenta adquirir el lock para una clave dentro del timeout.
|
||||
/// </summary>
|
||||
Task<bool> AcquireAsync(string key, TimeSpan timeout);
|
||||
|
||||
/// <summary>
|
||||
/// Libera el lock para la clave (idempotente).
|
||||
/// </summary>
|
||||
Task ReleaseAsync(string key);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user