-
Notifications
You must be signed in to change notification settings - Fork 216
Description
Is your feature request related to a problem? Please describe.
We have the following scenario:
The Publisher is configured with a predefined set of DataSetWriters to send OPC UA PubSub messages on a specific topic. A client application subscribes to this topic at startup to display the current state of the system. Since the Publisher sends only delta frames when changes occur, the app either receives updated values or no data at all if there are no changes.
The app can access a middleware layer that, in turn, can call the Publisher API. However, this middleware does not expose the Publisher API externally, so the application itself cannot perform read operations on the required nodes via the Publisher API. In addition, the app might not know the full scope or the exact NodeIds of the relevant nodes, so it relies solely on messages received from the topic.
Describe the solution you'd like
Our proposed solution is that the app notifies the middleware when it needs the current values. The middleware would then invoke the Publisher API to trigger sending a KeyFrame. Therefore, we need an API call that forces an immediate KeyFrame for a specific DataSetWriter or WriterGroup.
Describe alternatives you've considered
Since the documentation states: “To accomplish this a writer can be configured with a DataSetKeyFrameCount value other than 0. If this is the case, all values are sent in the first message, and then every DataSetKeyFrameCount number of messages later,” we initially assumed that reconfiguring the DataSetKeyFrameCount for an existing DataSetWriter would trigger a KeyFrame. However, this interpretation was incorrect because DataSetKeyFrameCount can only be defined when creating the DataSetWriter and cannot be changed afterwards. Furthermore, we decided against this approach, as we do not want to constantly send KeyFrames, and resetting the DataSetKeyFrameCount would introduce additional complexity.
Additional context
Add any other context or screenshots about the feature request here.