Przeglądaj źródła

Fixed: Client would retain tx buffer size even after server explitly says he has less rx buffer size in hello message (caused all subsequent getSendBuffer() to fail)

ichrispa 8 lat temu
rodzic
commit
8ebed8bd0c
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      src/client/ua_client.c

+ 4 - 0
src/client/ua_client.c

@@ -171,6 +171,10 @@ static UA_StatusCode HelAckHandshake(UA_Client *client) {
     conn->remoteConf.recvBufferSize = ackMessage.receiveBufferSize;
     conn->remoteConf.sendBufferSize = ackMessage.sendBufferSize;
     conn->state = UA_CONNECTION_ESTABLISHED;
+    
+    if (conn->remoteConf.recvBufferSize < conn->localConf.sendBufferSize)
+      conn->localConf.sendBufferSize = conn->remoteConf.recvBufferSize;
+    
     return UA_STATUSCODE_GOOD;
 }