Files
adas-core/adas-core.Application/Services/Interfaces/ILockProvider.cs
T

20 lines
666 B
C#

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);
}
}