diff --git a/src/connection.rs b/src/connection.rs index aea8441..bfde9ca 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -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 { @@ -294,12 +293,8 @@ impl ConnectionManager { Ok(_) => true, Err(_) => false, } - } else { - false - } - } else { - false - } + } else { + false }; if !session_valid {