refactor: 优化 heartbeat 中 status 锁粒度,使用 get_session 函数
This commit is contained in:
parent
afac9f1eb9
commit
4d88bcbce3
|
|
@ -277,10 +277,9 @@ impl ConnectionManager {
|
||||||
ticker.tick().await;
|
ticker.tick().await;
|
||||||
|
|
||||||
// 检查session是否有效
|
// 检查session是否有效
|
||||||
let session_valid = {
|
let session = manager.get_session(source_id).await;
|
||||||
let status = manager.status.read().await;
|
|
||||||
if let Some(conn_status) = status.get(&source_id) {
|
let session_valid = if let Some(session) = session {
|
||||||
if let Some(session) = conn_status.session.as_ref() {
|
|
||||||
// 尝试读取当前时间来验证连接
|
// 尝试读取当前时间来验证连接
|
||||||
let node_id = NodeId::new(0, 2258); // ServerCurrentTime节点
|
let node_id = NodeId::new(0, 2258); // ServerCurrentTime节点
|
||||||
let read_request = ReadValueId {
|
let read_request = ReadValueId {
|
||||||
|
|
@ -296,10 +295,6 @@ impl ConnectionManager {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
}
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if !session_valid {
|
if !session_valid {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue