Przeglądaj źródła

cosmetic improvements to the subscriptions

Julius Pfrommer 7 lat temu
rodzic
commit
2afadcd480

+ 7 - 11
src/server/ua_subscription.c

@@ -40,9 +40,8 @@ UA_Subscription_new(UA_Session *session, UA_UInt32 subscriptionId) {
 
 void
 UA_Subscription_deleteMembers(UA_Server *server, UA_Subscription *sub) {
-    UA_LOG_DEBUG_SESSION(server->config.logger, sub->session,
-                         "Subscription %u | Delete the subscription",
-                         sub->subscriptionId);
+    UA_LOG_DEBUG_SESSION(server->config.logger, sub->session, "Subscription %u | "
+                             "Delete the subscription", sub->subscriptionId);
 
     Subscription_unregisterPublishCallback(server, sub);
 
@@ -51,6 +50,7 @@ UA_Subscription_deleteMembers(UA_Server *server, UA_Subscription *sub) {
     LIST_FOREACH_SAFE(mon, &sub->monitoredItems, listEntry, tmp_mon) {
         MonitoredItem_delete(server, mon);
     }
+    sub->numMonitoredItems = 0;
 
     /* Delete Retransmission Queue */
     UA_NotificationMessageEntry *nme, *nme_tmp;
@@ -60,8 +60,6 @@ UA_Subscription_deleteMembers(UA_Server *server, UA_Subscription *sub) {
         UA_free(nme);
     }
     sub->retransmissionQueueSize = 0;
-    sub->notificationQueueSize = 0;
-    sub->numMonitoredItems = 0;
 }
 
 UA_MonitoredItem *
@@ -357,20 +355,18 @@ UA_Subscription_publishCallback(UA_Server *server, UA_Subscription *sub) {
                                           UA_MESSAGETYPE_MSG, response,
                                           &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]);
 
-    /* Reset subscription state to normal. */
+    /* Reset subscription state to normal */
     sub->state = UA_SUBSCRIPTIONSTATE_NORMAL;
     sub->currentKeepAliveCount = 0;
 
     /* Free the response */
     UA_Array_delete(response->results, response->resultsSize,
                     &UA_TYPES[UA_TYPES_UINT32]);
-    UA_free(pre); /* no need for UA_PublishResponse_deleteMembers */
+    UA_free(pre); /* No need for UA_PublishResponse_deleteMembers */
 
-    if(moreNotifications) {
-        /* Repeat sending responses right away if there are more notifications
-         * to send */
+    /* Repeat sending responses if there are more notifications to send */
+    if(moreNotifications)
         UA_Subscription_publishCallback(server, sub);
-    }
 }
 
 UA_Boolean

+ 4 - 4
src/server/ua_subscription_datachange.c

@@ -35,14 +35,14 @@ MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *monitoredItem) {
     UA_Subscription *sub = monitoredItem->subscription;
     UA_LOG_WARNING_SESSION(server->config.logger, sub->session,
                            "Subscription %u | MonitoredItem %i | "
-                           "Delete the MonitoredItem",
-                           sub->subscriptionId, monitoredItem->monitoredItemId);
+                           "Delete the MonitoredItem", sub->subscriptionId,
+                           monitoredItem->monitoredItemId);
 
     if(monitoredItem->monitoredItemType == UA_MONITOREDITEMTYPE_CHANGENOTIFY) {
         /* Remove the sampling callback */
         MonitoredItem_unregisterSampleCallback(server, monitoredItem);
 
-        /* Clear the queued samples */
+        /* Clear the queued notifications */
         UA_Notification *notification, *notification_tmp;
         TAILQ_FOREACH_SAFE(notification, &monitoredItem->queue, listEntry, notification_tmp) {
             /* Remove the item from the queues */
@@ -58,8 +58,8 @@ MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *monitoredItem) {
         /* TODO: Access val data.event */
         UA_LOG_ERROR(server->config.logger, UA_LOGCATEGORY_SERVER,
                      "MonitoredItemTypes other than ChangeNotify are not supported yet");
-        return;
     }
+
     /* Remove the monitored item */
     LIST_REMOVE(monitoredItem, listEntry);
     UA_String_deleteMembers(&monitoredItem->indexRange);