Return True from StreamReader.eof_received() to fix

http://bugs.python.org/issue24539 (but still needs a unittest).  Add
StreamReader.__repr__() for easy debugging.
This commit is contained in:
Guido van Rossum
2015-07-14 13:06:47 +02:00
parent 1f85dc7d6b
commit ce3ad816a2

View File

@@ -240,6 +240,7 @@ class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
def eof_received(self): def eof_received(self):
self._stream_reader.feed_eof() self._stream_reader.feed_eof()
return True
class StreamWriter: class StreamWriter:
@@ -321,6 +322,24 @@ class StreamReader:
self._transport = None self._transport = None
self._paused = False self._paused = False
def __repr__(self):
info = ['StreamReader']
if self._buffer:
info.append('%d bytes' % len(info))
if self._eof:
info.append('eof')
if self._limit != _DEFAULT_LIMIT:
info.append('l=%d' % self._limit)
if self._waiter:
info.append('w=%r' % self._waiter)
if self._exception:
info.append('e=%r' % self._exception)
if self._transport:
info.append('t=%r' % self._transport)
if self._paused:
info.append('paused')
return '<%s>' % ' '.join(info)
def exception(self): def exception(self):
return self._exception return self._exception