From f50e6b46f06a5f38ce2278b0d1231be98f6c24aa Mon Sep 17 00:00:00 2001 From: Stanislav Ravas Date: Wed, 29 Oct 2025 21:50:45 +0100 Subject: [PATCH] chore: publish MonitoredItemMap to allow implementing OnSubscriptionNotificationCore in client crates --- async-opcua-client/src/lib.rs | 2 +- async-opcua-client/src/session/mod.rs | 6 +++--- .../src/session/services/subscriptions/mod.rs | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/async-opcua-client/src/lib.rs b/async-opcua-client/src/lib.rs index 0b461910..29086b1e 100644 --- a/async-opcua-client/src/lib.rs +++ b/async-opcua-client/src/lib.rs @@ -125,7 +125,7 @@ pub use config::{ClientConfig, ClientEndpoint, ClientUserToken, ANONYMOUS_USER_T pub use retry::{ExponentialBackoff, SessionRetryPolicy}; pub use session::{ Client, ConnectionSource, DataChangeCallback, DefaultRetryPolicy, DirectConnectionSource, - EventCallback, HistoryReadAction, HistoryUpdateAction, MonitoredItem, + EventCallback, HistoryReadAction, HistoryUpdateAction, MonitoredItem, MonitoredItemMap, OnSubscriptionNotification, OnSubscriptionNotificationCore, RequestRetryPolicy, Session, SessionActivity, SessionBuilder, SessionConnectMode, SessionEventLoop, SessionPollResult, Subscription, SubscriptionActivity, SubscriptionCallbacks, UARequest, diff --git a/async-opcua-client/src/session/mod.rs b/async-opcua-client/src/session/mod.rs index 21731130..5bf59497 100644 --- a/async-opcua-client/src/session/mod.rs +++ b/async-opcua-client/src/session/mod.rs @@ -63,9 +63,9 @@ use services::subscriptions::state::SubscriptionState; pub use services::subscriptions::{ CreateMonitoredItems, CreateSubscription, DataChangeCallback, DeleteMonitoredItems, DeleteSubscriptions, EventCallback, ModifyMonitoredItems, ModifySubscription, MonitoredItem, - OnSubscriptionNotification, OnSubscriptionNotificationCore, Publish, PublishLimits, Republish, - SetMonitoringMode, SetPublishingMode, SetTriggering, Subscription, SubscriptionActivity, - SubscriptionCache, SubscriptionCallbacks, SubscriptionEventLoopState, TransferSubscriptions, + MonitoredItemMap, OnSubscriptionNotification, OnSubscriptionNotificationCore, Publish, PublishLimits, + Republish, SetMonitoringMode, SetPublishingMode, SetTriggering, Subscription, + SubscriptionActivity, SubscriptionCache, SubscriptionCallbacks, SubscriptionEventLoopState, TransferSubscriptions, }; pub use services::view::{ Browse, BrowseNext, RegisterNodes, TranslateBrowsePaths, UnregisterNodes, diff --git a/async-opcua-client/src/session/services/subscriptions/mod.rs b/async-opcua-client/src/session/services/subscriptions/mod.rs index 9ec8bbd6..d4e6686a 100644 --- a/async-opcua-client/src/session/services/subscriptions/mod.rs +++ b/async-opcua-client/src/session/services/subscriptions/mod.rs @@ -344,6 +344,7 @@ impl<'a> MonitoredItemMap<'a> { } } + /// get monitored item by client handle pub fn get(&self, client_handle: u32) -> Option<&'a MonitoredItem> { self.client_handles .get(&client_handle)