diff --git a/src/connection.rs b/src/connection.rs index bfde9ca..44f8fef 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -1207,14 +1207,16 @@ impl ConnectionManager { } let target_ids: std::collections::HashSet = point_ids.into_iter().collect(); - let (session, subscription_id, point_item_pairs) = { + let session = self.get_session(source_id).await; + let Some(session) = session else { + return Ok(0); + }; + + let (subscription_id, point_item_pairs) = { let status = self.status.read().await; let Some(conn_status) = status.get(&source_id) else { return Ok(0); }; - let Some(session) = conn_status.session.clone() else { - return Ok(0); - }; let Some(subscription_id) = conn_status.subscription_id else { return Ok(0); }; @@ -1226,7 +1228,7 @@ impl ConnectionManager { .map(|(point_id, monitored_item_id)| (*point_id, *monitored_item_id)) .collect(); - (session, subscription_id, items) + (subscription_id, items) }; if point_item_pairs.is_empty() {