Replies: 2 comments 3 replies
-
You would need to install an AttributeFilter on all of these Nodes that acquired a common lock or synchronized by some other means before reading. A more appropriate solution would probably be to use a single Node with a structure value that you can update atomically, but defining and using custom types is difficult enough to not be worth pursuing in the current 0.6.x series. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the quick reply. You gave me another idea though with subscriptions, what about an "updateTimestamp" node that is always updated as the last node. When the client receives an update to this node, it knows all the other nodes are current. This assumes that the order of operations remains consistent, ie when the update loop runs, the client receives these updates in the same order as the update loop on the server. Is that the case? |
Beta Was this translation helpful? Give feedback.
-
Hello
I've been playing around with the OPC UA Server Example (https://github.com/eclipse/milo/tree/master/milo-examples/server-examples). Updating a single node's value seems simple enough:
But what if I need to update multiple nodes at the same time? For example I have a list of 10 nodes that need to updated every 100 ms, but when a client reads while the updates are ongoing, it shouldn't get for example 3 new values and 7 old values, because the update loop was still running whilst the client was reading at the same time. For example consider this sequence of events:
How can this situation be avoided? The client sees either all the old values or all the new values, but not the inbetween state.
Beta Was this translation helpful? Give feedback.
All reactions