Closed
Description
In usage a WebSocket normally has very many ReadAsync calls made on it. (Use case WebSockets/SignalR over TLS)
Using the ValueTask overloads for WebSocket read allocates 2x AsyncStateMachineBox per read (when data is not immediately available)
However it could allocate once; backing with an IValueTaskSource objects that get allocated for the first async and reused when the read goes async again.