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

Method loop

Lib/asyncio/proactor_events.py:842–878  ·  view source on GitHub ↗
(f=None)

Source from the content-addressed store, hash-verified

840 ssl_shutdown_timeout=None, context=None):
841
842 def loop(f=None):
843 try:
844 if f is not None:
845 conn, addr = f.result()
846 if self._debug:
847 logger.debug("%r got a new connection from %r: %r",
848 server, addr, conn)
849 protocol = protocol_factory()
850 if sslcontext is not None:
851 self._make_ssl_transport(
852 conn, protocol, sslcontext, server_side=True,
853 extra={'peername': addr}, server=server,
854 ssl_handshake_timeout=ssl_handshake_timeout,
855 ssl_shutdown_timeout=ssl_shutdown_timeout)
856 else:
857 self._make_socket_transport(
858 conn, protocol,
859 extra={'peername': addr}, server=server)
860 if self.is_closed():
861 return
862 f = self._proactor.accept(sock)
863 except OSError as exc:
864 if sock.fileno() != -1:
865 self.call_exception_handler({
866 'message': 'Accept failed on a socket',
867 'exception': exc,
868 'socket': trsock.TransportSocket(sock),
869 })
870 sock.close()
871 elif self._debug:
872 logger.debug("Accept failed on socket %r",
873 sock, exc_info=True)
874 except exceptions.CancelledError:
875 sock.close()
876 else:
877 self._accept_futures[sock.fileno()] = f
878 f.add_done_callback(loop)
879
880 self.call_soon(loop)
881

Callers

nothing calls this directly

Calls 10

_make_ssl_transportMethod · 0.95
resultMethod · 0.45
debugMethod · 0.45
is_closedMethod · 0.45
acceptMethod · 0.45
filenoMethod · 0.45
closeMethod · 0.45
add_done_callbackMethod · 0.45

Tested by

no test coverage detected