MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/asynchat.cpython-36.opt-2.pyc

3


 \@,@s@ddlZddlmZGdddejZGdddZddZdS)	N)dequec@seZdZdZdZdZdZd'ddZddZd	d
Z	ddZ
d
dZddZddZ
ddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZdS)(
async_chatirzlatin-1NcCs(d|_g|_t|_tjj|||dS)N)ac_in_bufferincomingr
producer_fifoasyncore
dispatcher__init__)selfZsockmapr
 /usr/lib64/python3.6/asynchat.pyr
Cszasync_chat.__init__cCstddS)Nzmust be implemented in subclass)NotImplementedError)rdatar
r
rcollect_incoming_dataQsz async_chat.collect_incoming_datacCs|jj|dS)N)rappend)rrr
r
r_collect_incoming_dataTsz!async_chat._collect_incoming_datacCsdj|j}|jdd=|S)Nr)joinr)rdr
r
r	_get_dataWszasync_chat._get_datacCstddS)Nzmust be implemented in subclass)r)rr
r
rfound_terminator\szasync_chat.found_terminatorcCsBt|tr|jrt||j}nt|tr8|dkr8td||_dS)Nrz-the number of received bytes must be positive)
isinstancestruse_encodingbytesencodingint
ValueError
terminator)rZtermr
r
rset_terminator_s
zasync_chat.set_terminatorcCs|jS)N)r)rr
r
rget_terminatorjszasync_chat.get_terminatorcCsy|j|j}Wn:tk
r$dStk
rJ}z|jdSd}~XnXt|trh|jrhtt|j	}|j
||_
xV|j
rt|j
}|j}|s|j
|j
d|_
qxt|tr|}||kr|j
|j
d|_
|j||_n2|j
|j
d||j
|d|_
d|_|jqxt|}|j
j|}|dkrp|dkrR|j
|j
d||j
||d|_
|jqxt|j
|}|r||kr|j
|j
d||j
|d|_
Pqx|j
|j
d|_
qxWdS)Nrr)Zrecvac_in_buffer_sizeBlockingIOErrorOSErrorhandle_errorrrrrrrlenr!rrrrfindfind_prefix_at_end)rrZwhyZlbrnZterminator_lenindexr
r
rhandle_readrsR

	



zasync_chat.handle_readcCs|jdS)N)
initiate_send)rr
r
rhandle_writeszasync_chat.handle_writecCs|jdS)N)close)rr
r
rhandle_closeszasync_chat.handle_closecCs|t|tttfstdt||j}t||krdx>tdt||D]}|j	j
||||qBWn|j	j
||jdS)Nz#data argument must be byte-ish (%r)r)rr	bytearray
memoryview	TypeErrortypeac_out_buffer_sizer(rangerrr.)rrZsabsir
r
rpushs
zasync_chat.pushcCs|jj||jdS)N)rrr.)rZproducerr
r
rpush_with_producerszasync_chat.push_with_producercCsdS)Nr"r
)rr
r
rreadableszasync_chat.readablecCs|jp|jS)N)r	connected)rr
r
rwritableszasync_chat.writablecCs|jjddS)N)rr)rr
r
rclose_when_doneszasync_chat.close_when_donecCsx|jo|jr|jd}|s<|jd=|dkr<|jdS|j}y|d|}Wn8tk
r|j}|r||jj|n|jd=wYnXt|tr|j	rt
||j}y|j|}Wnt
k
r|jdSX|r|t|ks|t|kr||d|jd<n|jd=dSWdS)Nr)rr<r1r6r4more
appendleftrrrrrsendr&r'r()rfirstZobsrZnum_sentr
r
rr.s8
zasync_chat.initiate_sendcCs d|_|jdd=|jjdS)Nr)rrrclear)rr
r
rdiscard_buffersszasync_chat.discard_buffers)NN)__name__
__module____qualname__r$r6rrr
rrrrr r!r-r/r1r9r:r;r=r>r.rDr
r
r
rr4s*
H(rc@seZdZdddZddZdS)simple_producercCs||_||_dS)N)rbuffer_size)rrrJr
r
rr
szsimple_producer.__init__cCsJt|j|jkr6|jd|j}|j|jd|_|S|j}d|_|SdS)Nr)r(rrJ)rresultr
r
rr?szsimple_producer.moreN)rI)rErFrGr
r?r
r
r
rrHs
rHcCs6t|d}x$|r0|j|d|r0|d8}qW|S)Nr")r(endswith)ZhaystackZneedlelr
r
rr*/sr*)rcollectionsrr	rrHr*r
r
r
r<module>0s
\ 

OHA YOOOO