Edit File: nonblocking.cpython-36.pyc
3 U��Z{ ������������������@���s����d�dl�Z�d�dlZd�dlZG�dd��d�Zdd��Zedkr�d�dlZejejej�Z e j d ��e j��Zee�Z ejejej�Zej d��ej��Ze jegg�g�de��e j��Zeee���dS�)�����Nc���������������@���s6���e�Zd�Zdd��Zdd��Zd dd�Zdd ��Zd d��ZdS�)�NonBlockingFilec�������������C���s@���||�_�tj|�j�j��tjtj��g�|�_g�|�_g�|�_d�|�_ d�|�_ d�S�)N)�fd�fcntl�fileno�F_SETFL�os�O_NDELAY�read_fd_set�write_fd_set� exc_fd_set� user_data�callback)�selfr�����r����!/usr/lib/python3.6/nonblocking.py�__init__ ���s����zNonBlockingFile.__init__c�������������C���sH���||�_�x$|�j�D�]}tj|j��tjtj��qW�||�_||�_||�_||�_ d�S�)N) r ���r���r���r���r���r���r ���r���r���r ���)r���r ���r ���r���r���r ����fr���r���r����set_callback���s����zNonBlockingFile.set_callbackr���c�������������C���s����x�d}|�j�|�jg�}|�j}|�j}td|��tj|||�\}}}td|||��|�j|krfd}|j|�j��|�jr�|sx|sx|r�|�j||||�j��|rP�qW�td��|�jj |�S�)Nr���zCalling selectzSelect returned����Z Returning) r ���r���r ���r����print�select�remover ���r����read)r���ZamtZstatus_changedZreadfdsZwritefdsZexcfdsr���r���r���r���!���s"���� zNonBlockingFile.readc�������������C���s���|�j�j|�S�)N)r����write)r����datar���r���r���r���7���s����zNonBlockingFile.writec�������������C���s���t�|�j|�S�)N)�getattrr���)r����namer���r���r����__getattr__:���s����zNonBlockingFile.__getattr__N)r���)�__name__� __module__�__qualname__r���r���r���r���r���r���r���r���r���r��� ���s ��� r���c�������������C���s"���t�d|�||��t�|�d�j����d�S�)NzCallback calledr���)r���r���)�r�w�er���r���r���r���r ���=���s����r ����__main__� localhost������)r%���r&���)r%���r'���)r���r���r���r���r ���r���ZsocketZAF_INETZSOCK_STREAM�sZconnect�makefiler���Zss�s2r���r���Zxxr����lenr���r���r���r����<module>���s ���4