관리-도구
편집 파일: selector_events.cpython-37.opt-1.pyc
B � f$� � @ s" d Z dZddlZddlZddlZddlZddlZddlZddlZyddl Z W n e k rd dZ Y nX ddlmZ ddlm Z ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ d d� Zdd� ZG dd� dej�ZG dd� dejej�ZG dd� de�ZG dd� de�ZdS )z�Event loop using a selector and related classes. A selector is a "notify-when-ready" multiplexer. For a subclass which also includes support for signal handling, see the unix_events sub-module. )�BaseSelectorEventLoop� N� )�base_events)� constants)�events)�futures)� protocols)�sslproto)� transports)�loggerc C s6 y| � |�}W n tk r" dS X t|j|@ �S d S )NF)�get_key�KeyError�boolr )�selector�fdZevent�key� r �</opt/alt/python37/lib64/python3.7/asyncio/selector_events.py�_test_selector_event s r c C s t d k rt| t j�rtd��d S )Nz"Socket cannot be of type SSLSocket)�ssl� isinstanceZ SSLSocket� TypeError)�sockr r r �_check_ssl_socket* s r c s� e Zd ZdZdQ� fdd� ZdRddd�dd�ZdSddddejd �d d�ZdTdd �Z � fdd�Z dd� Zdd� Zdd� Z dd� Zdd� Zdddejfdd�Zdddejfdd�Zddejfdd �Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Zd;d<� Z d=d>� Z!d?d@� Z"dAdB� Z#dCdD� Z$dEdF� Z%dGdH� Z&dIdJ� Z'dKdL� Z(dMdN� Z)dOdP� Z*� Z+S )Ur zJSelector event loop. See events.EventLoop for API specification. Nc sF t � �� |d krt�� }t�d|jj� || _| � � t �� | _d S )NzUsing selector: %s) �super�__init__� selectorsZDefaultSelectorr �debug� __class__�__name__� _selector�_make_self_pipe�weakrefZWeakValueDictionary�_transports)�selfr )r r r r 5 s zBaseSelectorEventLoop.__init__)�extra�serverc C s t | |||||�S )N)�_SelectorSocketTransport)r$ r �protocol�waiterr% r&