made twistedutil.protocol 2.4 compatible

This commit is contained in:
Denis Bilenko
2009-01-12 19:29:38 +06:00
parent dfef4b3429
commit 7922bc290d

View File

@@ -186,16 +186,17 @@ class GreenTransport(GreenTransportBase):
if self._queue is not None: if self._queue is not None:
resumed = False resumed = False
try: try:
while len(self._buffer) < size or size < 0: try:
if not resumed: while len(self._buffer) < size or size < 0:
self.resumeProducing() if not resumed:
resumed = True self.resumeProducing()
self._buffer += self._wait() resumed = True
except ConnectionDone: self._buffer += self._wait()
self._queue = None except ConnectionDone:
except: self._queue = None
self._queue = None except:
self._error = sys.exc_info() self._queue = None
self._error = sys.exc_info()
finally: finally:
if resumed: if resumed:
self.pauseProducing() self.pauseProducing()
@@ -213,14 +214,15 @@ class GreenTransport(GreenTransportBase):
if self._queue is not None and not self._buffer: if self._queue is not None and not self._buffer:
self.resumeProducing() self.resumeProducing()
try: try:
recvd = self._wait() try:
#print 'received %r' % recvd recvd = self._wait()
self._buffer += recvd #print 'received %r' % recvd
except ConnectionDone: self._buffer += recvd
self._queue = None except ConnectionDone:
except: self._queue = None
self._queue = None except:
self._error = sys.exc_info() self._queue = None
self._error = sys.exc_info()
finally: finally:
self.pauseProducing() self.pauseProducing()
if buflen is None: if buflen is None: