python (3.12.0)
ϑeR- b d dl mZ d dlmZ G d dej Z G d d Zd Zy) )deque)asyncorec e Zd Z dZdZdZdZddZd Zd Z d Z
d Zd
Zd Z
d Zd
Zd Zd Zd Zd Zd Zd Zd Zd Zy)
async_chati r zlatin-1Nc d| _ g | _ t | _ t j
j
| || y N )ac_in_bufferincomingr
producer_fifor
dispatcher__init__)selfsockmaps I/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/support/asynchat.pyr zasync_chat.__init__J s7
#W$$T45r c t d Nzmust be implemented in subclassNotImplementedErrorr datas r collect_incoming_dataz async_chat.collect_incoming_dataX !"CDDr c : | j j | y N)r appendr s r _collect_incoming_dataz!async_chat._collect_incoming_data[ s
T"r c Z dj | j }| j d d = |S r )joinr )r ds r _get_datazasync_chat._get_data^ s% HHT]]#MM!r c t d r r r s r found_terminatorzasync_chat.found_terminatorc r r c t |t r*| j rt || j }|| _ y t |t
r|dk rt
d || _ y )Nr z-the number of received bytes must be positive)
isinstancestruse_encodingbytesencodingint
ValueError
terminator)r terms r set_terminatorzasync_chat.set_terminatorf sY dC T%6%6t}}-D c
"taxLMMr c | j S r )r. r$ s r get_terminatorzasync_chat.get_terminatorq s r c | j | j }t |t r&| j rt t | j }| j |z | _
| j rt | j }| j }|s$| j | j d| _
nt |t r|}||k r8| j | j d| _
| j |z
| _ n4| j | j d | | j |d | _
d| _ | j! nt | }| j j# | }|dk7 rK|dkD r| j | j d | | j ||z d | _
| j! ntt% | j | }|r:||k7 r4| j | j d | | j | d | _
y | j | j d| _
| j ry y # t $ r Y y t $ r | j Y y w xY w)Nr r )recvac_in_buffer_sizeBlockingIOErrorOSErrorhandle_errorr'