Open
Description
There were a couple of follow up items as a result of changing how HTTP/2 output writing works #30235.
- - We need to follow up on how this affects large writes. There will be a task allocation after 4K writes because the ConcurrentPipeWriter allocates a task per pending write. We might also want to use a bigger pause threshold (65K?)
- - We need to determine if we want CompleteAsync to not lie and instead wait on the response to be flushed. Right now it lies and queues other operations after the response is completed. This is more efficient but makes it hard to observe exceptions. This would slow down gRPC scenarios a bit more.
- - Move HPack encoding out of the write lock HTTP/2 output processing make over #40925 (comment)
- - Write window updates in an async code path (