2.1 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-17T15:39:34.129608+00:00 | zai-org/GLM-5-FP8 | 1 | 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:
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 toLockCategoriesin the database).int ItemId— Numeric identifier for the locked item.
LockError
Constructor:
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