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");
            }
        }
Пример #3
0
 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);
 }