- Convert WsReadInfo from mutable struct to class (prevents silent copy bugs) - Add handshake timeout enforcement via CancellationToken in WsUpgrade - Use buffered reading (512 bytes) in ReadHttpRequestAsync instead of byte-at-a-time - Add IAsyncDisposable to WsConnection for proper async cleanup - Simplify redundant mask bit check in WsReadInfo - Remove unused WsGuid and CompressLastBlock dead code from WsConstants - Document single-reader assumption on WsConnection read-side state
5.2 KiB
5.2 KiB