def write(self, data):
if hasattr(data, "tobytes"):
data = data.tobytes()
with self._parent._streamLock:
oldPos = self._stream.pos
self._stream.pos = self._stream.len
self._stream.write(data)
self._stream.pos = oldPos
while self._stream.len > 0 and not self._streamClosed:
self._parent._processStreams()
if self._streamClosed:
self._closed = True
if self._stream.len != 0:
raise IOError(errno.EPIPE,
"Could not write all data to stream")
return len(data)
评论列表
文章目录