Explorar o código

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 %!s(int64=9) %!d(string=hai) anos
pai
achega
8ebed8bd0c
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  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;
 }