public static IDisposable Acquire(IDistributedLock @lock, TimeSpan?timeout, CancellationToken cancellationToken) { var handle = @lock.TryAcquire(timeout ?? Timeout.InfiniteTimeSpan, cancellationToken); ValidateTryAcquireResult(handle, timeout); return(handle); }
public static void Acquire(this IDistributedLock mutexLock, int millisecondsTimeout) { var locked = mutexLock.TryAcquire(millisecondsTimeout); if (!locked) { throw new TimeoutException("Acquire lock timeout"); } }
public static bool IsHeld(this IDistributedLock @lock) { using var handle = @lock.TryAcquire(); return(handle == null); }
public static IDisposable Acquire(IDistributedLock @lock, TimeSpan?timeout, CancellationToken cancellationToken) { return(@lock.TryAcquire(timeout ?? Timeout.InfiniteTimeSpan, cancellationToken) ?? throw CreateTryAcquireFailedException(timeout)); }
public static bool TryAcquire(this IDistributedLock mutexLock, TimeSpan timeout) { return(mutexLock.TryAcquire((int)timeout.TotalMilliseconds)); }
public static void TryAcquire(this IDistributedLock mutexLock) { mutexLock.TryAcquire(0); }