]> granicus.if.org Git - python/commitdiff
Backout changeset 6ab2575bc12b
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 15 Jan 2015 20:50:19 +0000 (21:50 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 15 Jan 2015 20:50:19 +0000 (21:50 +0100)
StreamWriter: close() now clears the reference to the transport

StreamWriter now raises an exception if it is closed: write(), writelines(),
write_eof(), can_write_eof(), get_extra_info(), drain().

Lib/asyncio/streams.py

index 12ab1c52cb71df71b3652313b22692cb0d721b5c..7ff16a488f9ef3f39e85a56ae24fcdf16cc73eea 100644 (file)
@@ -258,22 +258,8 @@ class StreamWriter:
         self._reader = reader
         self._loop = loop
 
-    def close(self):
-        if self._transport is None:
-            return
-        self._transport.close()
-        self._transport = None
-
-    def _check_closed(self):
-        if self._transport is None:
-            raise RuntimeError('StreamWriter is closed')
-
     def __repr__(self):
-        info = [self.__class__.__name__]
-        if self._transport is not None:
-            info.append('transport=%r' % self._transport)
-        else:
-            info.append('closed')
+        info = [self.__class__.__name__, 'transport=%r' % self._transport]
         if self._reader is not None:
             info.append('reader=%r' % self._reader)
         return '<%s>' % ' '.join(info)
@@ -283,23 +269,21 @@ class StreamWriter:
         return self._transport
 
     def write(self, data):
-        self._check_closed()
         self._transport.write(data)
 
     def writelines(self, data):
-        self._check_closed()
         self._transport.writelines(data)
 
     def write_eof(self):
-        self._check_closed()
         return self._transport.write_eof()
 
     def can_write_eof(self):
-        self._check_closed()
         return self._transport.can_write_eof()
 
+    def close(self):
+        return self._transport.close()
+
     def get_extra_info(self, name, default=None):
-        self._check_closed()
         return self._transport.get_extra_info(name, default)
 
     @coroutine
@@ -311,7 +295,6 @@ class StreamWriter:
           w.write(data)
           yield from w.drain()
         """
-        self._check_closed()
         if self._reader is not None:
             exc = self._reader.exception()
             if exc is not None: