namespace adas_core.Application.Services.Interfaces { /// /// 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). /// public interface ILockProvider { /// /// Intenta adquirir el lock para una clave dentro del timeout. /// Task AcquireAsync(string key, TimeSpan timeout); /// /// Libera el lock para la clave (idempotente). /// Task ReleaseAsync(string key); } }