init
This commit is contained in:
53
docs/ai/Common/DTS.Common/Classes/Locking.md
Normal file
53
docs/ai/Common/DTS.Common/Classes/Locking.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Classes/Locking/LockRecord.cs
|
||||
- Common/DTS.Common/Classes/Locking/LockError.cs
|
||||
- Common/DTS.Common/Classes/Locking/SensorsLocking.cs
|
||||
generated_at: "2026-04-17T15:39:34.129608+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1d4f4345fc0d551d"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Classes.Locking
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides a locking mechanism for managing concurrent access to items (identified by category and ID) within the DTS system. It consists of three classes: `LockRecord` represents an individual lock's metadata, `LockError` encapsulates error states from lock operations, and `SensorsLocking` manages a collection of locks with periodic update capabilities. The system tracks who holds locks, on which machine, and when locks were created/updated, supporting scenarios where locks can be "stolen" or lost due to connectivity issues.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### LockRecord
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public LockRecord(string user, string machine, DateTime createTime, DateTime lastUpdate, string itemKey, int itemCategory, int itemId)
|
||||
```
|
||||
Initializes a new immutable lock record with all properties set via constructor parameters.
|
||||
|
||||
**Properties (all read-only):**
|
||||
- `string LockingUserName` — The user who holds the lock.
|
||||
- `string LockingMachineName` — The machine name where the lock originated.
|
||||
- `DateTime CreationTime` — When the lock was created.
|
||||
- `DateTime LastUpdated` — When the lock was last refreshed.
|
||||
- `string ItemKey` — A string key identifying the locked item.
|
||||
- `int ItemCategory` — Numeric category value (maps to `LockCategories` in the database).
|
||||
- `int ItemId` — Numeric identifier for the locked item.
|
||||
|
||||
---
|
||||
|
||||
### LockError
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public LockError(int error, string message, string user = null, string machine = null)
|
||||
```
|
||||
Creates an error object with optional user and machine parameters (default to empty string if null).
|
||||
|
||||
**Properties:**
|
||||
- `int ErrorCode` — Numeric error code (private setter).
|
||||
- `string Message` — Error message (private setter).
|
||||
- `string LockingUser` — User associated with the error (private setter).
|
||||
- `string Lock
|
||||
Reference in New Issue
Block a user