File: //usr/lib64/python3.8/__pycache__/selectors.cpython-38.opt-2.pyc
U
e5dH @ s d dl mZmZ d dlmZ d dlmZ d dlZd dlZd dl Z dZ
dZdd Zed d
ddd
gZ
de
_e jdkrde
j_de
j_de
j_de
j_G dd deZG dd dedZG dd deZG dd deZG dd deZeedrG d d! d!eZeed"rG d#d$ d$eZeed%r6G d&d' d'eZeed(rRG d)d* d*eZd*e krdeZn:d$e krveZn(d'e kreZnd!e kreZneZdS )+ )ABCMetaabstractmethod)
namedtuple)MappingN c
C sf t | tr| }n<zt| }W n* tttfk
rJ td| d Y nX |dk rbtd||S )NzInvalid file object: {!r}r zInvalid file descriptor: {})
isinstanceintfilenoAttributeError TypeError
ValueErrorformat)fileobjfd r !/usr/lib64/python3.8/selectors.py_fileobj_to_fd s
r SelectorKeyr r eventsdatazSelectorKey(fileobj, fd, events, data)
Object used to associate a file object to its backing
file descriptor, selected event mask, and attached data.
) zFile object registered.zUnderlying file descriptor.z3Events that must be waited for on this file object.zzOptional opaque data associated to this file object.
For example, this could be used to store a per-client session ID.c @ s, e Zd Zdd Zdd Zdd Zdd Zd S )
_SelectorMappingc C s
|| _ d S N) _selector)selfZselectorr r r __init__? s z_SelectorMapping.__init__c C s t | jjS r )lenr
_fd_to_keyr r r r __len__B s z_SelectorMapping.__len__c C sD z| j |}| j j| W S tk
r> td|d Y nX d S N{!r} is not registered)r _fileobj_lookupr KeyErrorr )r r r r r r __getitem__E s
z_SelectorMapping.__getitem__c C s t | jjS r )iterr r r r r r __iter__L s z_SelectorMapping.__iter__N)__name__
__module____qualname__r r! r&