IFencedLock Interface
Namespace: Hazelcast.CP
Assembly: Hazelcast.Net.dll
Represents a linearizable, distributed, reentrant implementation of the Java Lock.
public interface IFencedLock : ICPDistributedObject, IDistributedObject, IAsyncDisposable
Inherited Members
Remarks
The IFencedLock is CP with respect to the CAP principle. It works on top of the Raft consensus algorithm. It offers linearizability during crash-stop failures and network partitions. If a network partition occurs, it remains available on at most one side of the partition.
A IFencedLock works within the context of a LockContext.
Properties
| Name | Description |
|---|---|
| InvalidFence | Gets the identifier representing an invalid fence. |
Methods
| Name | Description |
|---|---|
| GetFenceAsync(LockContext) | Gets the fencing token, if the lock is held by the specified |
| GetLockCountAsync(LockContext) | Gets the reentrant lock count of the lock, for whichever context is locking it. |
| IsLockedAsync(LockContext) | Determines whether this lock is held by any context or not. |
| IsLockedByContextAsync(LockContext) | Determines whether the lock is held by the specified |
| LockAndGetFenceAsync(LockContext) | Acquires the lock and returns the fencing token assigned to the specified |
| LockAsync(LockContext) | Acquires the lock for the specified |
| TryLockAndGetFenceAsync(LockContext) | Tries to acquire the lock and return the fencing token assigned to the specified |
| TryLockAndGetFenceAsync(LockContext, TimeSpan) | Tries to acquire the lock and return the fencing token assigned to the specified |
| TryLockAsync(LockContext) | Tries to acquire the lock for the specified |
| TryLockAsync(LockContext, TimeSpan) | Tries to acquire the lock for the specified |
| UnlockAsync(LockContext) | Releases the lock if the lock is currently held by the specified |