MCPcopy Index your code
hub / github.com/RustPython/RustPython / _write_send

Method _write_send

Lib/asyncio/selector_events.py:1132–1161  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1130 break
1131
1132 def _write_send(self):
1133 assert self._buffer, 'Data should not be empty'
1134 if self._conn_lost:
1135 return
1136 try:
1137 buffer = self._buffer.popleft()
1138 n = self._sock.send(buffer)
1139 if n != len(buffer):
1140 # Not all data was written
1141 self._buffer.appendleft(buffer[n:])
1142 except (BlockingIOError, InterruptedError):
1143 pass
1144 except (SystemExit, KeyboardInterrupt):
1145 raise
1146 except BaseException as exc:
1147 self._loop._remove_writer(self._sock_fd)
1148 self._buffer.clear()
1149 self._fatal_error(exc, 'Fatal write error on socket transport')
1150 if self._empty_waiter is not None:
1151 self._empty_waiter.set_exception(exc)
1152 else:
1153 self._maybe_resume_protocol() # May append to buffer.
1154 if not self._buffer:
1155 self._loop._remove_writer(self._sock_fd)
1156 if self._empty_waiter is not None:
1157 self._empty_waiter.set_result(None)
1158 if self._closing:
1159 self._call_connection_lost(None)
1160 elif self._eof:
1161 self._sock.shutdown(socket.SHUT_WR)
1162
1163 def write_eof(self):
1164 if self._closing or self._eof:

Callers

nothing calls this directly

Calls 12

_call_connection_lostMethod · 0.95
lenFunction · 0.85
popleftMethod · 0.80
appendleftMethod · 0.80
sendMethod · 0.45
_remove_writerMethod · 0.45
clearMethod · 0.45
_fatal_errorMethod · 0.45
set_exceptionMethod · 0.45
set_resultMethod · 0.45
shutdownMethod · 0.45

Tested by

no test coverage detected