caoqianming
5406568969
fix: harden event handling and source safety
...
Improve runtime resilience by bounding the reload event queue and processing telemetry updates without per-point spawned tasks. Also reduce security risk by sanitizing source responses, avoiding internal error detail leaks, and standardizing write-key configuration with backward compatibility.
Made-with: Cursor
2026-03-13 14:22:16 +08:00
caoqianming
6f215162a3
feat(page): add page table and CRUD handlers
2026-03-11 13:54:14 +08:00
caoqianming
efed6aa816
feat: add page
2026-03-11 13:23:05 +08:00
caoqianming
1374abe550
feat(log): add file-based log APIs and switch file logs to JSON
2026-03-09 14:47:19 +08:00
caoqianming
63bcf679c2
fix(opcua): reconnect when subscription becomes invalid
2026-03-09 08:58:40 +08:00
caoqianming
0893c9783c
fix: 修复心跳检查中订阅状态判断逻辑,避免启动时误触发重连
2026-03-06 13:51:47 +08:00
caoqianming
5dc1081c90
改进心跳检测中的订阅状态检查,通过读取服务器节点属性来验证订阅是否真正有效
2026-03-06 12:57:22 +08:00
caoqianming
afab910780
在 DataChangeCallback 中添加 BadNoSubscription 错误检测
2026-03-06 10:58:27 +08:00
caoqianming
d4d5749ccc
优化 OPC UA event_loop 监控和重连机制
2026-03-06 10:01:18 +08:00
caoqianming
76b6e17927
feat: save event_loop handle to avoid ghost session
2026-03-06 09:38:14 +08:00
caoqianming
b197607d5f
refactor: 添加 allocate_client_handle 函数封装句柄分配逻辑
2026-03-06 09:22:55 +08:00
caoqianming
a2208e8958
perf: 将 poll_points 改为 Arc<Vec<PollPointInfo>> 以减少 clone 开销
2026-03-06 09:16:18 +08:00
caoqianming
487d3cdf26
refactor: 优化 unsubscribe_points_from_source 中 status 锁粒度,使用 get_session 函数
2026-03-06 09:13:30 +08:00
caoqianming
4d88bcbce3
refactor: 优化 heartbeat 中 status 锁粒度,使用 get_session 函数
2026-03-06 09:09:42 +08:00
caoqianming
afac9f1eb9
fix: 修复 poll task 中 results 和 poll_points 可能错位的 bug
2026-03-06 09:04:50 +08:00
caoqianming
8e4abd0af9
feat: 添加重连保护机制修复重复重连问题
2026-03-06 09:01:15 +08:00
caoqianming
aaf887a6fc
优化PointNewValue事件处理:并行执行update_point_monitor_data和send_to_public,移除不必要的ws_manager_clone
2026-03-05 15:28:04 +08:00
caoqianming
ee3ee273b2
refactor: merge set_pool and start_reconnect_task into set_pool_and_start_reconnect_task
2026-03-05 14:01:40 +08:00
caoqianming
0f37c9435e
feat: 实现心跳检测和自动重连功能
2026-03-05 13:27:13 +08:00
caoqianming
494cf1d656
优化连接流程:connect_from_source自动处理订阅,简化main.rs
2026-03-05 11:18:30 +08:00
caoqianming
a2217a991c
重构ConnectionManager:简化get_session方法,移除pool依赖,重命名new_with_pool为new
2026-03-05 11:13:10 +08:00
caoqianming
5685c33687
优化main.rs日志打印:移除重复日志,使用并发处理source连接和订阅
2026-03-05 11:08:01 +08:00
caoqianming
a63433e757
优化点取消订阅逻辑:从轮询列表中移除所有传入点,并记录订阅点和轮询点的移除数量
2026-03-05 11:01:20 +08:00
caoqianming
8230536c73
refactor: 在 connect 方法中启动统一轮询任务,移除 start_polling_for_points 方法
2026-03-05 10:52:27 +08:00
caoqianming
114d350e5b
refactor: 移除 ReloadEvent::PointCreate,统一使用 PointCreateBatch
2026-03-05 09:31:52 +08:00
caoqianming
a6be0827d0
refactor: 统一轮询任务实现,移除 scan_interval_s 字段
2026-03-05 09:30:30 +08:00
caoqianming
d156108148
feat: 为 get_tag_list 接口添加分页功能
2026-03-04 15:19:39 +08:00
caoqianming
f9284303f6
fix: 改进错误处理机制,支持查询参数反序列化和多种Axum响应类型转换
2026-03-04 14:11:59 +08:00
caoqianming
550c7b3974
修改migrate名称
2026-03-04 13:57:40 +08:00
caoqianming
606b57eb73
refactor: 优化点位列表查询功能
2026-03-04 13:39:06 +08:00
caoqianming
fdb4f10ba4
feat: 添加通用的分页工具模块
2026-03-04 13:37:58 +08:00
caoqianming
3311823800
优化数据序列化:时间戳使用本地时间格式,简化 DataValue 输出
2026-03-04 12:41:14 +08:00
caoqianming
1ddb707a9b
优化 WebSocket 消息发送:移除不必要的 clone,注释掉 send_to_client
2026-03-04 12:35:22 +08:00
caoqianming
173814416f
修复潜在的死锁问题:将读锁的作用域限制在块内,避免在持有读锁时尝试获取写锁
2026-03-04 12:20:13 +08:00
caoqianming
6f62d753a5
修复编译警告:将 PollPointInfo 改为公开,移除未使用的字段
2026-03-04 11:26:38 +08:00
caoqianming
475ac02322
重构:将 poll_task_handles 和 poll_points 合并为一个双向映射,使用 PollPointInfo 结构
2026-03-04 11:24:13 +08:00
caoqianming
b22225ad72
重构:将 poll_points_by_source 的内层 HashSet 移动到 ConnectionStatus 中,简化数据结构
2026-03-04 11:16:08 +08:00
caoqianming
4bb9bdd27d
优化 event.rs 中的克隆操作,减少 monitor 的克隆次数从 3 次减少到 1 次
2026-03-04 08:47:24 +08:00
caoqianming
562a2d566b
feat: 为 PointMonitorInfo 添加旧值追踪和值变化检测
2026-03-04 08:35:28 +08:00
caoqianming
8127d04855
refactor: 将 PointValueChange 重命名为 PointNewValue
2026-03-03 16:56:37 +08:00
caoqianming
cc7142e556
refactor: 统一使用 PointMonitorInfo,移除 WsPointMonitorInfo
2026-03-03 16:51:18 +08:00
caoqianming
a82921193c
PointNewValue
2026-03-03 16:44:53 +08:00
caoqianming
02de1f4552
feat: 添加ValueType枚举并更新相关结构体
2026-03-03 15:41:35 +08:00
caoqianming
c88a0b2398
修复编译错误和警告: 添加缺失的导入,移除未使用的导入和变量
2026-03-03 13:39:58 +08:00
caoqianming
44f4a794d3
feat: 软件第一个版本
2026-03-03 13:32:05 +08:00