From d73a2165b9b3cf9f9cb0dd8311c19e2adab03863 Mon Sep 17 00:00:00 2001 From: Kevin Herron Date: Mon, 2 Sep 2024 07:13:40 -0700 Subject: [PATCH] Decrement `keepAliveCounter` on transition to `State.KeepAlive` (#1305) Errata 1.04.8 changed Subscription State Table row 9 so that the keep alive counter is decremented upon the initial transition. This results in a keep alive PublishResponse being sent one publishing interval earlier, which better matches the description of the behavior in the spec. fixes #1304 --- .../milo/opcua/sdk/server/subscriptions/Subscription.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opc-ua-sdk/sdk-server/src/main/java/org/eclipse/milo/opcua/sdk/server/subscriptions/Subscription.java b/opc-ua-sdk/sdk-server/src/main/java/org/eclipse/milo/opcua/sdk/server/subscriptions/Subscription.java index c435af4e4b..416a6ca4f0 100644 --- a/opc-ua-sdk/sdk-server/src/main/java/org/eclipse/milo/opcua/sdk/server/subscriptions/Subscription.java +++ b/opc-ua-sdk/sdk-server/src/main/java/org/eclipse/milo/opcua/sdk/server/subscriptions/Subscription.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 the Eclipse Milo Authors + * Copyright (c) 2024 the Eclipse Milo Authors * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 @@ -937,6 +937,7 @@ private void whenNormal() { /* Subscription State Table Row 9 */ setState(State.KeepAlive); resetKeepAliveCounter(); + keepAliveCounter--; } else { throw new IllegalStateException("unhandled subscription state"); }