Skip to content

Decouple OpcUaSubscription.SyncState from MonitoredItem operations#1726

Open
kevinherron wants to merge 5 commits intomainfrom
subscription-sync-state
Open

Decouple OpcUaSubscription.SyncState from MonitoredItem operations#1726
kevinherron wants to merge 5 commits intomainfrom
subscription-sync-state

Conversation

@kevinherron
Copy link
Copy Markdown
Contributor

SyncState now tracks only subscription settings synchronization. MonitoredItem add/remove no longer sets UNSYNCHRONIZED, and create() always sets SYNCHRONIZED. New isMonitoredItemsSynchronized() and isFullySynchronized() methods provide item-level and aggregate sync checks.

SyncState now tracks only subscription settings synchronization.
MonitoredItem add/remove no longer sets UNSYNCHRONIZED, and create()
always sets SYNCHRONIZED. New isMonitoredItemsSynchronized() and
isFullySynchronized() methods provide item-level and aggregate sync
checks.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Decouples OpcUaSubscription.SyncState from MonitoredItem add/remove operations so subscription sync reflects only subscription-parameter synchronization, while introducing explicit APIs to check MonitoredItem-level and aggregate synchronization state.

Changes:

  • OpcUaSubscription#create() now always sets SyncState.SYNCHRONIZED, and add/remove MonitoredItem operations no longer flip subscription sync state.
  • Add isMonitoredItemsSynchronized() and isFullySynchronized() for item-level and aggregate synchronization checks.
  • Add integration tests validating the new semantics and new synchronization helpers.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
opc-ua-sdk/sdk-client/src/main/java/org/eclipse/milo/opcua/sdk/client/subscriptions/OpcUaSubscription.java Updates subscription sync-state behavior and adds new synchronization query APIs.
opc-ua-sdk/integration-tests/src/test/java/org/eclipse/milo/opcua/sdk/client/subscriptions/OpcUaSubscriptionTest.java Adds tests covering the new sync semantics and helper methods.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…/client/subscriptions/OpcUaSubscription.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@kevinherron
Copy link
Copy Markdown
Contributor Author

@copilot run mvn spotless:apply and then commit+PR the formatting changes it produces.

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 15, 2026

@kevinherron I've opened a new pull request, #1728, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits April 15, 2026 12:41
Agent-Logs-Url: https://github.com/eclipse-milo/milo/sessions/4fcae70e-900d-48d9-9c6e-9ca4567ac16f

Co-authored-by: kevinherron <340273+kevinherron@users.noreply.github.com>
Decouple subscription sync-state from monitored item sync + add aggregate sync checks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants