We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 27546ea commit 1d9f785Copy full SHA for 1d9f785
asyncio_micro/asyncio_micro.py
@@ -223,10 +223,19 @@ def __init__(self, s):
223
self.s = s
224
225
def write(self, buf):
226
- res = self.s.write(buf)
227
- log.debug("StreamWriter.write(): %d", res)
228
- s = yield IOWrite(self.s)
229
- log.debug("StreamWriter.write(): returning")
+ sz = len(buf)
+ while True:
+ res = self.s.write(buf)
+ log.debug("StreamWriter.write(): %d", res)
230
+ # If we spooled everything, (just) return
231
+ if res == sz:
232
+ return
233
+ if res is None:
234
+ res = 0
235
+ buf = buf[res:]
236
+ sz -= res
237
+ s = yield IOWrite(self.s)
238
+ log.debug("StreamWriter.write(): can write more")
239
240
def close(self):
241
yield IODone(IO_WRITE, self.s)
0 commit comments