File: //usr/lib/python3/dist-packages/mercurial/thirdparty/__pycache__/selectors2.cpython-310.pyc
o
�]LbVk � @ s d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl Z ddl
mZ ejZej
Z
ze jZW n eyA e j ZY nw dZdZdZd Zd
Zg d�ZdZdZdae� ZeeejfZed
g d��ZG dd� de
�Z dd� Z!G dd� de�Z"e#ed�r�G dd� de"�Z$e�%d� ej&r�G dd� de�Z'G dd� de$�Z(e�%d� e(Z$e#ed�r�G dd� de"�Z)e�%d� e#ed�r�G d d!� d!e"�Z*e�%d!� e#ed"�r�G d#d$� d$e"�Z+e�%d$� e#ed%�r�G d&d'� d'e"�Z,e�%d'� d(d)� Z-ej.d*kr�d+d,� Z/nd-d,� Z/d.d/� Z0dS )0z. Back-ported, durable, and portable selectors � )�absolute_importN� )�pycompatzSeth Michael Larsonz sethmichaellarson@protonmail.comz2.0.0�MITz3https://www.github.com/SethMichaelLarson/selectors2)�
EVENT_READ�EVENT_WRITE�SelectorKey�DefaultSelector�BaseSelector� r )�fileobj�fd�events�datac @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )�_SelectorMappingz* Mapping of file objects to selector keys c C s
|| _ d S �N)� _selector��self�selector� r �A/usr/lib/python3/dist-packages/mercurial/thirdparty/selectors2.py�__init__F �
z_SelectorMapping.__init__c C � t | jj�S r )�lenr �
_fd_to_key�r r r r �__len__I � z_SelectorMapping.__len__c C s8 z
| j �|�}| j j| W S ty td�|���w �Nz{0!r} is not registered.)r �_fileobj_lookupr �KeyError�format)r r r
r r r �__getitem__L s �z_SelectorMapping.__getitem__c C r r )�iterr r r r r r �__iter__S r z_SelectorMapping.__iter__N)�__name__�
__module__�__qualname__�__doc__r r r$ r&