server-master/srcs/PhoenixLib.DAL.Redis/Locks/RedisScopedLock.cs
2026-02-10 18:21:30 +01:00

29 lines
No EOL
703 B
C#

using System.Threading.Tasks;
namespace PhoenixLib.DAL.Redis.Locks
{
public sealed class RedisScopedLock : IScopedLock
{
private readonly string _lockKey;
private readonly ILockService _lockService;
public RedisScopedLock(string lockKey, ILockService lockService, bool isLockAcquired)
{
_lockKey = lockKey;
_lockService = lockService;
IsAcquired = isLockAcquired;
}
public async ValueTask DisposeAsync()
{
if (!IsAcquired)
{
return;
}
await _lockService.TryFreeLock(_lockKey);
}
public bool IsAcquired { get; }
}
}