]> granicus.if.org Git - python/commitdiff
asyncio: enhance protocol representation
authorVictor Stinner <victor.stinner@gmail.com>
Sun, 12 Oct 2014 07:52:11 +0000 (09:52 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Sun, 12 Oct 2014 07:52:11 +0000 (09:52 +0200)
Add "closed" or "closing" to repr() of selector and proactor transports

Lib/asyncio/proactor_events.py
Lib/asyncio/selector_events.py

index 0ad06564187285d6eee18758ae10e6083676a4a3..7132300a564adc3bd8e98309a21aa2cf5f23dc5c 100644 (file)
@@ -42,7 +42,13 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
             self._loop.call_soon(waiter._set_result_unless_cancelled, None)
 
     def __repr__(self):
-        info = [self.__class__.__name__, 'fd=%s' % self._sock.fileno()]
+        info = [self.__class__.__name__]
+        fd = self._sock.fileno()
+        if fd < 0:
+            info.append('closed')
+        elif self._closing:
+            info.append('closing')
+        info.append('fd=%s' % fd)
         if self._read_fut is not None:
             info.append('read=%s' % self._read_fut)
         if self._write_fut is not None:
index 33de92e1e4b3c87097924e4f7678c9e5a3174687..a55eff7876745388e333c073a62eb7b6366b92f3 100644 (file)
@@ -467,7 +467,12 @@ class _SelectorTransport(transports._FlowControlMixin,
             self._server._attach()
 
     def __repr__(self):
-        info = [self.__class__.__name__, 'fd=%s' % self._sock_fd]
+        info = [self.__class__.__name__]
+        if self._sock is None:
+            info.append('closed')
+        elif self._closing:
+            info.append('closing')
+        info.append('fd=%s' % self._sock_fd)
         # test if the transport was closed
         if self._loop is not None:
             polling = _test_selector_event(self._loop._selector,