관리-도구
편집 파일: asynchat.cpython-38.opt-2.pyc
U e5d@, � @ s@ d dl Z d dlmZ G dd� de j�ZG dd� d�Zdd� ZdS ) � N)�dequec @ s� e Zd ZdZdZdZdZd'dd�Zdd� Zd d � Z dd� Z d d� Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� ZdS )(� async_chati r zlatin-1Nc C s( d| _ g | _t� | _tj�| ||� d S �N� )�ac_in_buffer�incomingr � producer_fifo�asyncore� dispatcher�__init__)�selfZsock�map� r � /usr/lib64/python3.8/asynchat.pyr C s zasync_chat.__init__c C s t d��d S �Nzmust be implemented in subclass��NotImplementedError�r �datar r r �collect_incoming_dataQ s z async_chat.collect_incoming_datac C s | j �|� d S �N)r �appendr r r r �_collect_incoming_dataT s z!async_chat._collect_incoming_datac C s d� | j�}| jd d �= |S r )�joinr )r �dr r r � _get_dataW s zasync_chat._get_datac C s t d��d S r r �r r r r �found_terminator\ s zasync_chat.found_terminatorc C sB t |t�r| jrt|| j�}nt |t�r8|dk r8td��|| _d S )Nr z-the number of received bytes must be positive)� isinstance�str�use_encoding�bytes�encoding�int� ValueError� terminator)r Ztermr r r �set_terminator_ s zasync_chat.set_terminatorc C s | j S r )r% r r r r �get_terminatorj s zasync_chat.get_terminatorc C s� z| � | j�}W nD tk r& Y d S tk rT } z| �� W Y �d S d }~X Y nX t|t�rr| jrrtt| j �}| j | | _ | j �r�t| j �}| �� }|s�| � | j � d| _ q~t|t��r|}||k r�| � | j � d| _ | j| | _n2| � | j d |� � | j |d � | _ d| _| �� q~t|�}| j �|�}|dk�rv|dk�rX| � | j d |� � | j || d � | _ | �� q~t| j |�}|�r�||k�r�| � | j d | � � | j | d � | _ �q�q~| � | j � d| _ q~d S )Nr r ���)Zrecv�ac_in_buffer_size�BlockingIOError�OSError�handle_errorr r r r! r"