Ë
‚Ö¦iç2 ã ó6 — d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlm Z ddl!m"Z" dZ#dZ$dZ% e&e d« Z'dZ(d„ Z)d„ Z*d„ Z+d&d„Z,d'd„Z-d„ Z. e&e d« rd„ Z/nd„ Z/d„ Z0 G d „ d!ejb « Z2 G d"„ d#ejf « Z4 G d$„ d%ejj « Z6y# e$ r dZY ŒÏw xY w)(a™ Base implementation of event loop.
The event loop can be broken up into a multiplexer (the part
responsible for notifying us of I/O events) and the event loop proper,
which wraps a multiplexer with functionality for scheduling callbacks,
immediately or at a given time in the future.
Whenever a public API takes a callback, subsequent positional
arguments will be passed to the callback if/when it is called. This
avoids the proliferation of trivial lambdas implementing closures.
Keyword arguments for the callback are not supported; this is a
conscious design decision, leaving the door open for keyword arguments
to modify the meaning of the API call itself.
é Né )Ú constants)Ú
coroutines)Úevents)Ú
exceptions)Úfutures)Ú protocols)Ússlproto)Ú staggered)Útasks)Útimeouts)Ú
transports)Útrsock)Úlogger)Ú
BaseEventLoopÚServeréd g à?ÚAF_INET6i€Q c ó¤ — | j }t t |dd « t j « rt |j « S t | « S )NÚ__self__)Ú _callbackÚ
isinstanceÚgetattrr ÚTaskÚreprr Ústr)ÚhandleÚcbs ú,/usr/lib64/python3.12/asyncio/base_events.pyÚ_format_handler G s= € Ø × Ñ €BÜ”'˜"˜j¨$Ó/´·±Ô<ä�B—K‘KÓ Ð ä�6‹{Ðó c óh — | t j k( ry| t j k( ryt | « S )Nz