Bläddra i källkod

refactor(server): Simplify UA_AsyncMethodManager_removeEntry

Julius Pfrommer 4 år sedan
förälder
incheckning
78cd8afc60
2 ändrade filer med 10 tillägg och 9 borttagningar
  1. 9 9
      src/server/ua_asyncmethod_manager.c
  2. 1 0
      src/server/ua_asyncmethod_manager.h

+ 9 - 9
src/server/ua_asyncmethod_manager.c

@@ -93,16 +93,16 @@ UA_AsyncMethodManager_createEntry(UA_AsyncMethodManager *amm, const UA_NodeId *s
     return UA_STATUSCODE_GOOD;
 }
 
-/* remove entry and free all allocated data */
+/* Remove entry and free all allocated data */
 UA_StatusCode
-UA_AsyncMethodManager_removeEntry(UA_AsyncMethodManager *amm, asyncmethod_list_entry *current) {
-    if (current) {
-        LIST_REMOVE(current, pointers);
-        UA_atomic_subUInt32(&amm->currentCount, 1);
-        UA_CallResponse_deleteMembers(&current->response);
-        UA_NodeId_clear(&current->sessionId);
-        UA_free(current);
-    }
+UA_AsyncMethodManager_removeEntry(UA_AsyncMethodManager *amm,
+                                  asyncmethod_list_entry *current) {
+    UA_assert(current);
+    LIST_REMOVE(current, pointers);
+    UA_atomic_subUInt32(&amm->currentCount, 1);
+    UA_CallResponse_deleteMembers(&current->response);
+    UA_NodeId_clear(&current->sessionId);
+    UA_free(current);
     UA_LOG_DEBUG(&amm->server->config.logger, UA_LOGCATEGORY_SERVER,
                  "UA_AsyncMethodManager_removeEntry: # of open CallRequests: %u", amm->currentCount);
     return UA_STATUSCODE_GOOD;

+ 1 - 0
src/server/ua_asyncmethod_manager.h

@@ -52,6 +52,7 @@ UA_StatusCode
 UA_AsyncMethodManager_createEntry(UA_AsyncMethodManager *amm, const UA_NodeId *sessionId, const UA_UInt32 channelId,
     const UA_UInt32 requestId, const UA_UInt32 requestHandle, const UA_DataType *responseType, const UA_UInt32 nCountdown);
 
+/* The pointers amm and current must not be NULL */
 UA_StatusCode
 UA_AsyncMethodManager_removeEntry(UA_AsyncMethodManager *amm, asyncmethod_list_entry *current);