hyper
hyper copied to clipboard
ConnectionResetError after certain number of HTTP/1.1 requests
Ran into an issue while testing/benchmarking several hundreds of HTTP/1.1 HEAD requests, which would always result in a ConnectionResetError after the exact same number of requests.
Investigating the issue shows that it always occurs when the BufferedSockets _remaining_capacity is getting close to 0. More specifically, it happens whenever there are still a few bytes_in_buffer when fill is called on the almost "exhausted" buffer, as it will be the case here:
https://github.com/Lukasa/hyper/blob/18b629b8487169870235fe13387e2ae03c178b9f/hyper/http11/connection.py#L284-L288