瀏覽代碼

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 年之前
父節點
當前提交
8ebed8bd0c
共有 1 個文件被更改,包括 4 次插入0 次删除
  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;
 }