This is not an actual issue, but a possible tiny improvement.
TL;DR
I think this check self._remaining_capacity > self._bytes_in_buffer in bufsocket.py#L141 is unnecessary.
Here's why.
From the definitions we know:
self._remaing_capacity - self._bytes_in_buffer
= (self._buffer_size - self._index) - self._bytes_in_buffer
= self._buffer_size - (self._index + self._bytes_in_buffer)
= self._buffer_size - self._buffer_end
We also know that each time self._bytes_in_buffer increases, the increment is less than
_buffer_size - _buffer_end. An example:
if (self._remaining_capacity > self._bytes_in_buffer and should_read):
count = self._sck.recv_into(self._buffer_view[self._buffer_end:])
if not count and amt > self._bytes_in_buffer:
raise ConnectionResetError()
self._bytes_in_buffer += count # count cannot be greater than _buffer_size - _buffer_end
Now we have two formulas:
_buffer_size - _buffer_end = _remaing_capacity - _bytes_in_buffer ①
count < _buffer_size - _buffer_end ②
Thus _bytes_in_buffer < _remaing_capacity is always True.
_bytes_in_buffer(new)
= _bytes_in_buffer(old) + count
< _bytes_in_buffer + _buffer_size - _buffer_end
= _remaing_capacity
I intended to remove the check and run tests, but unfortunately I was not able to finish them(I have all the test deps installed and run make test, don't know why it takes so long). So I'm not 100% sure it can be removed.