a
´i9, ã @ 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__)ÚselfÚsockÚmap© r ú /usr/lib64/python3.9/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&