refactor: 优化 heartbeat 中 status 锁粒度,使用 get_session 函数

This commit is contained in:
caoqianming 2026-03-06 09:09:42 +08:00
parent afac9f1eb9
commit 4d88bcbce3
1 changed files with 5 additions and 10 deletions

View File

@ -277,10 +277,9 @@ impl ConnectionManager {
ticker.tick().await;
// 检查session是否有效
let session_valid = {
let status = manager.status.read().await;
if let Some(conn_status) = status.get(&source_id) {
if let Some(session) = conn_status.session.as_ref() {
let session = manager.get_session(source_id).await;
let session_valid = if let Some(session) = session {
// 尝试读取当前时间来验证连接
let node_id = NodeId::new(0, 2258); // ServerCurrentTime节点
let read_request = ReadValueId {
@ -296,10 +295,6 @@ impl ConnectionManager {
}
} else {
false
}
} else {
false
}
};
if !session_valid {