Class InMemoryLockManager
An in-memory implementation of a lock manager
Inherited Members
Namespace:FubarDev.WebDavServer.Locking.InMemory
Assembly:FubarDev.WebDavServer.Locking.InMemory.dll
Syntax
public class InMemoryLockManager : LockManagerBase, ILockManager
Constructors
| Improve this Doc View SourceInMemoryLockManager(IOptions<InMemoryLockManagerOptions>, ILockCleanupTask, ISystemClock, ILogger<InMemoryLockManager>)
Initializes a new instance of the InMemoryLockManager class.
Declaration
public InMemoryLockManager(IOptions<InMemoryLockManagerOptions> options, ILockCleanupTask cleanupTask, ISystemClock systemClock, ILogger<InMemoryLockManager> logger)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.Extensions.Options.IOptions<InMemoryLockManagerOptions> | options | The options of the lock manager |
ILockCleanupTask | cleanupTask | The clean-up task for expired locks |
ISystemClock | systemClock | The system clock interface |
Microsoft.Extensions.Logging.ILogger<InMemoryLockManager> | logger | The logger |
Methods
| Improve this Doc View SourceBeginTransactionAsync(CancellationToken)
Begins a new transaction
Declaration
protected override Task<LockManagerBase.ILockManagerTransaction> BeginTransactionAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<LockManagerBase.ILockManagerTransaction> | The transaction to be used to update the active locks |