ٷǸsTJV 6 d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZddlZddlZddlZ ddlZn # e$ r dZY nw xY wddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlm Z ddl!m"Z" dZ#dZ$dZ% e&e d Z'dZ(d Z)d Z*d Z+d%dZ,d&dZ-d Z. e&e d rd Z/nd Z/d Z0 G d d ej1 Z2 G d! d"ej3 Z4 G d# d$ej5 Z6dS )'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) transports)trsock)logger) BaseEventLoopServerd g ?AF_INET6iQ c | j }t t |dd t j rt |j S t | S )N__self__) _callback isinstancegetattrr Taskreprr str)handlecbs @/opt/alt/python-internal/lib64/python3.11/asyncio/base_events.py_format_handler G sF B'"j$//<<