o
    jt                     @   s   G d d dZ dS )c                   @   s>   e Zd Zdd Zdd ZdddZdd	 Zd
d Zdd ZdS )NetworkQueuec                 C   s"   d | _ d | _d| _d | _d | _d S )N    )in_queue	out_queuebufferdata_in_evtpipe_broken_evtself r
   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/network/queue.py__init__   s
   
zNetworkQueue.__init__c              
      s8   zW d S  t y } zt| W Y d }~d S d }~ww )N)	Exceptionprint)r	   er
   r
   r   run   s   zNetworkQueue.runc              
      s   z=| j  r
W dS t| jdkr | j I d H  t| jdks|dkr-| j}d| _|W S | jd | }| j|d  | _|W S  tyU } zt| W Y d }~d S d }~ww )Nr       r   )r   is_setlenr   r   waitr   r   r	   ntempr   r
   r
   r   read   s$   
zNetworkQueue.readc              
      s   z9| j  rtd|dk rtdt| j|kr)| j I d H  t| j|ks| jd | }| j|d  | _|W S  tyQ } zt| W Y d }~d S d }~ww )NPipe broken!   z'Readexactly must be a positive integer!)r   r   r   r   r   r   r   r   r   r
   r
   r   readexactly'   s    
zNetworkQueue.readexactlyc              
      s   z=| j  rtd| j|dkr#| j I d H  | j|dks| j|t| }| jd | }| j|d  | _|W S  tyU } zt| W Y d }~d S d }~ww )Nr   r   )	r   r   r   r   findr   r   r   r   )r	   patternendr   r   r
   r
   r   	readuntil9   s   
zNetworkQueue.readuntilc                    s   |  dI d H S )N   
)r    r   r
   r
   r   readlineI   s   zNetworkQueue.readlineN)r   )	__name__
__module____qualname__r   r   r   r   r    r"   r
   r
   r
   r   r      s    
r   N)r   r
   r
   r
   r   <module>   s   