Browse Source

Client: Add timeout check for publish response

Fixes #2909
Stefan Profanter 5 years ago
parent
commit
1994c11868
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/client/ua_client_subscriptions.c

+ 8 - 0
src/client/ua_client_subscriptions.c

@@ -673,6 +673,14 @@ UA_Client_Subscriptions_processPublishResponse(UA_Client *client, UA_PublishRequ
         return;
     }
 
+    if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) {
+        if (client->config.inactivityCallback)
+            client->config.inactivityCallback(client);
+        UA_LOG_WARNING(&client->config.logger, UA_LOGCATEGORY_CLIENT,
+                       "Received Timeout for Publish Response");
+        return;
+    }
+
     if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD) {
         UA_LOG_WARNING(&client->config.logger, UA_LOGCATEGORY_CLIENT,
                        "Received Publish Response with code %s",