Tags: machinezone/IXWebSocket
Tags
Bump version to 12.0.1 (#590) Release of accumulated fixes since v12.0.0: DNS lookup crash/offline resolution (#589), OpenSSL IP-address cert validation (#588), case-insensitive Upgrade header (#584), server fd double-close (#585), fragment buffering optimization (#562), and the install include-dir fix (#582). Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Add timeout support to flushSendBuffer() (#575) When sending a lot of data to a client that does not reliably drain its own socket, it can happen that 1) the thread on the server doing the sending blocks in flushSendBuffer(). Additionally, the "receiver" thread of WebSocket::run() on the server blocks in WebSocketTransport::poll() -> sendHeartBeat() -> flushSendBuffer(). Because now WebSocket::run() is blocked, it never reads data form the client, this can result in a deadlock scenario: server: blocks sending to client in flushSendBuffer() client: also blocked while sending to server (WebSocket::run() never receives) The clients could unblock the situation if it receives from its socket. If the client doesn't do so, this change allows the server to close the socket after a configurable timeout that is honored during flushSendBuffer(). The callback will see "Send timeout" as close reason and an abnormal close code.
Feature/version 11.3.2 (#329) * mbedls system certs * missing curly brace ... * windows uwp for appveyor * try again uwp * bump version * keep using local cacert.pem in unittest * appveyor back to normal * remove appveyor file Co-authored-by: Benjamin Sergeant <[email protected]>
PreviousNext