Commit a9dfafb4 authored by Julien Prigent's avatar Julien Prigent Committed by oroulet

[subscription][monitored_items]: enhance client cache consistency

parent ce818bd1
...@@ -287,15 +287,17 @@ class Subscription: ...@@ -287,15 +287,17 @@ class Subscription:
:param handle: The handle that was returned when subscribing to the node/nodes :param handle: The handle that was returned when subscribing to the node/nodes
""" """
handles = [handle] if type(handle) is int else handle handles = [handle] if type(handle) is int else handle
if not handles:
return
params = ua.DeleteMonitoredItemsParameters() params = ua.DeleteMonitoredItemsParameters()
params.SubscriptionId = self.subscription_id params.SubscriptionId = self.subscription_id
params.MonitoredItemIds = handles params.MonitoredItemIds = handles
results = await self.server.delete_monitored_items(params) results = await self.server.delete_monitored_items(params)
results[0].check() results[0].check()
for k, v in self._monitored_items.items(): handle_map = {v.server_handle: k for k, v in self._monitored_items.items()}
if v.server_handle in handles: for handle in handles:
del (self._monitored_items[k]) if handle in handle_map:
return del self._monitored_items[handle_map[handle]]
async def modify_monitored_item(self, handle: int, new_samp_time, new_queuesize=0, mod_filter_val=-1): async def modify_monitored_item(self, handle: int, new_samp_time, new_queuesize=0, mod_filter_val=-1):
""" """
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment