def write(self, data):
"""Write some data to the transport.
This method does not block; it buffers the data and arranges
for it to be sent out asynchronously. Writes made after the
transport has been closed will be ignored."""
if self._closing:
return
if self.get_write_buffer_size() == 0:
# Attempt to send it right away first
try:
n = self._serial.write(data)
except serial.SerialException as exc:
self._fatal_error(exc, 'Fatal write error on serial transport')
return
if n == len(data):
return # Whole request satisfied
assert n > 0
data = data[n:]
self._ensure_writer()
self._write_buffer.append(data)
self._maybe_pause_protocol()
评论列表
文章目录