MCPcopy Index your code
hub / github.com/python/cpython / _write_ready

Method _write_ready

Lib/asyncio/unix_events.py:739–765  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

737 self._maybe_pause_protocol()
738
739 def _write_ready(self):
740 assert self._buffer, 'Data should not be empty'
741
742 try:
743 n = os.write(self._fileno, self._buffer)
744 except (BlockingIOError, InterruptedError):
745 pass
746 except (SystemExit, KeyboardInterrupt):
747 raise
748 except BaseException as exc:
749 self._buffer.clear()
750 self._conn_lost += 1
751 # Remove writer here, _fatal_error() doesn't it
752 # because _buffer is empty.
753 self._loop._remove_writer(self._fileno)
754 self._fatal_error(exc, 'Fatal write error on pipe transport')
755 else:
756 if n == len(self._buffer):
757 self._buffer.clear()
758 self._loop._remove_writer(self._fileno)
759 self._maybe_resume_protocol() # May append to buffer.
760 if self._closing:
761 self._loop._remove_reader(self._fileno)
762 self._call_connection_lost(None)
763 return
764 elif n > 0:
765 del self._buffer[:n]
766
767 def can_write_eof(self):
768 return True

Calls 7

_fatal_errorMethod · 0.95
_call_connection_lostMethod · 0.95
writeMethod · 0.45
clearMethod · 0.45
_remove_writerMethod · 0.45
_remove_readerMethod · 0.45