File: //usr/lib64/python3.6/__pycache__/selectors.cpython-36.opt-2.pyc
3
  \�K  �               @   s�  d dl mZmZ d dlmZmZ d dlZd dlZd dlZd(Z	d)Z
dd� Zeddd	d
dg�Zde_
ejd*kr�dej_
dej_
dej_
dej_
G dd� de�ZG dd� ded�ZG dd� de�ZG dd� de�Zeed�r�G dd� de�Zeed��rG d d!� d!e�Zeed"��rG d#d$� d$e�Zeed%��r:G d&d'� d'e�Zd'e� k�rLeZn:d!e� k�r^eZn(d$e� k�rpeZnde� k�r�eZneZdS )+�    )�ABCMeta�abstractmethod)�
namedtuple�MappingN�   c          
   C   sf   t | t�r| }n<yt| j� �}W n* tttfk
rJ   tdj| ��d �Y nX |dk rbtdj|���|S )NzInvalid file object: {!r}r   zInvalid file descriptor: {})�
isinstance�int�fileno�AttributeError�	TypeError�
ValueError�format)�fileobj�fd� r   �!/usr/lib64/python3.6/selectors.py�_fileobj_to_fd   s    
r   �SelectorKeyr   r   �events�dataz�SelectorKey(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__>