summaryrefslogtreecommitdiffstats
path: root/src/opcua/client/qopcuabackend_p.h
diff options
context:
space:
mode:
authorJannis Voelker <jannis.voelker@basyskom.com>2018-05-04 15:28:05 +0200
committerJannis Völker <jannis.voelker@basyskom.com>2018-05-14 12:42:30 +0000
commit78d016e79ed8bc3d2d3f1c2dac90a4c75392d35b (patch)
tree089b938199b3f8221f77613be1f6c823d9d7d1cf /src/opcua/client/qopcuabackend_p.h
parent4c5bb1a2e043bc64ac6df54fd0d547ce41012f00 (diff)
Fix subscription sharing for revised publishing intervalsv5.11.0-rc2v5.11.0
The current implementation uses an existing subscription for sharing if a subscription with the requested publishing interval exists. If the publishing interval of a subscription is revised by the server, the lookup for a second monitoring with the same requested interval fails and a new subscription is created. This patch adds a member variable which stores the last revised publishing interval to each backend. Requests with a publishing interval < last revised publishing interval are "revised" by the backend to ensure subscription sharing. A test case which checks for correct subscription sharing is added to tst_client.cpp. Change-Id: I5e433501f23bf99e841c5c41e750ed8631ea7162 Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Diffstat (limited to 'src/opcua/client/qopcuabackend_p.h')
-rw-r--r--src/opcua/client/qopcuabackend_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/opcua/client/qopcuabackend_p.h b/src/opcua/client/qopcuabackend_p.h
index acfc603..4f9ccab 100644
--- a/src/opcua/client/qopcuabackend_p.h
+++ b/src/opcua/client/qopcuabackend_p.h
@@ -74,6 +74,8 @@ public:
QOpcUa::Types attributeIdToTypeId(QOpcUa::NodeAttribute attr);
+ double revisePublishingInterval(double requestedValue, double minimumValue);
+
Q_SIGNALS:
void stateAndOrErrorChanged(QOpcUaClient::ClientState state,
QOpcUaClient::ClientError error);