def _buffered_read(self, length):
# try to recv and strore needed bytes
if self._readbuffer_head + length > len(self._readbuffer):
if self._ssl:
data = self._socket.read(self._readbuffer_head + length - len(self._readbuffer))
else:
data = self._socket.recv(self._readbuffer_head + length - len(self._readbuffer))
if not data:
raise socket.error(errno.ECONNABORTED, 0)
else:
self._readbuffer.extend(data)
self._readbuffer_head += length
return self._readbuffer[self._readbuffer_head-length:self._readbuffer_head]
评论列表
文章目录