程广
|
48c66fa72e
|
```
fix(lock): 解决解锁时未正确传递 requestId 的问题
在处理 unlock 消息时,缺少了 requestId 参数的传递,
导致无法准确释放对应的读锁或写锁。
同时增加 _releaseReadLocks 方法以支持按 requestId 精确释放读锁。
```
|
2025-11-18 15:03:57 +08:00 |
程广
|
b38367f09f
|
feat(lock-client): 重构锁请求管理机制以支持并发处理
将单一 requestId 字段替换为 Map 类型的 requests 字段,用于存储多个未完成的锁请求及其对应的 resolve 函数。注释掉原有 isLocked 检查逻辑,允许更灵活的锁控制流程。
fix(namedpipe): 修复父类构造函数参数传递错误
在 NamedPipeRWLock 构造函数中调用 super() 时补充缺失的 resource 参数,确保父类正确初始化。
feat(lock-server): 改进读锁客户端标识以增强唯一性
更新 readers 集合中的元素格式,从 clientId 变为 `${clientId}_${requestId}`,提高锁持有者标识的唯一性和可追踪性。
|
2025-11-18 14:54:37 +08:00 |
程广
|
14d81e8f5c
|
```
feat(lock): 实现基于TCP和命名管道的读写锁服务端与客户端
新增支持通过TCP协议和命名管道进行通信的读写锁机制,包括服务端和客户端实现。
主要变更包括:
- 添加 LockServer 基类及 NamedPipeLockServer、TCPLockServer 实现
- 新增 LockClient 基类以及 NamedPipeRWLock 和 TcpRwLock 客户端实现
- 更新测试用例以适配新的连接配置方式,并增加对 TCP 锁的支持
- 调整 jest 超时设置以便更好地支持异步锁操作测试
- 导出新模块至 index.js 便于外部使用
```
|
2025-11-17 15:32:19 +08:00 |