Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/client_ws.cpython-35.opt-1.pyc



Z"@sdZddlZddlZddlZddlmZddlmZmZddl	m
Z
mZmZm
Z
mZGdddZdS)	zWebSocket client for asyncio.N)ClientError)
call_later
set_result)WS_CLOSED_MESSAGEWS_CLOSING_MESSAGEWebSocketError	WSMessage	WSMsgTypec
@seZdZdddddddddd	Zd
dZdd
ZddZddZeddZ	eddZ
eddZeddZeddZ
dddZddZd d!d"Zd d#d$Zdd%d&Zdd'd(Zdd)ejd*d+Zd,d-d.d/d0d1Zdd2d3Zd4dd5d6Zd4dd7d8Zd9ejd4dd:d;Zd<d=Zd>d?ZdS)@ClientWebSocketResponsereceive_timeoutN	heartbeatcompressrclient_notakeoverFc	
Cs||_|j|_||_||_||_d|_d|_d|_||_	|	|_
||_||_|
|_
d|_|
dk	r|
d|_d|_||_d|_d|_||_||_|jdS)NFg@)	_response
connection_conn_writer_reader	_protocol_closed_closing_close_code_timeout_receive_timeout
_autoclose	_autoping
_heartbeat
_heartbeat_cb_pong_heartbeat_pong_response_cb_loop_waiting
_exception	_compress_client_notakeover_reset_heartbeat)
selfreaderwriterprotocolresponsetimeoutZ	autocloseZautopinglooprr
rrr.
/client_ws.py__init__s.													
						z ClientWebSocketResponse.__init__cCsN|jdk	r%|jjd|_|jdk	rJ|jjd|_dS)N)r cancelr)r'r.r.r/_cancel_heartbeat.s
	
z)ClientWebSocketResponse._cancel_heartbeatcCs;|j|jdk	r7t|j|j|j|_dS)N)r2rr_send_heartbeatr!r)r'r.r.r/r&7s
z(ClientWebSocketResponse._reset_heartbeatcCsd|jdk	r`|jr`|jj|jdk	rB|jjt|j|j|j	|_dS)N)
rrrpingr r1r_pong_not_receivedrr!)r'r.r.r/r3>s

z'ClientWebSocketResponse._send_heartbeatcCs;|js7d|_d|_tj|_|jjdS)NTi)rrasyncioTimeoutErrorr#rclose)r'r.r.r/r5Gs
			z*ClientWebSocketResponse._pong_not_receivedcCs|jS)N)r)r'r.r.r/closedNszClientWebSocketResponse.closedcCs|jS)N)r)r'r.r.r/
close_codeRsz"ClientWebSocketResponse.close_codecCs|jS)N)r)r'r.r.r/r*Vsz ClientWebSocketResponse.protocolcCs|jS)N)r$)r'r.r.r/rZsz ClientWebSocketResponse.compresscCs|jS)N)r%)r'r.r.r/r^sz)ClientWebSocketResponse.client_notakeovercCs:y|jjjj||SWntk
r5|SYnXdS)z$extra info from connection transportN)rrZ	transportget_extra_info	Exception)r'namedefaultr.r.r/r;bs

z&ClientWebSocketResponse.get_extra_infocCs|jS)N)r#)r'r.r.r/	exceptionjsz!ClientWebSocketResponse.exceptionbcs|jj|IdHdS)N)rr4)r'messager.r.r/r4mszClientWebSocketResponse.pingcs|jj|IdHdS)N)rpong)r'rAr.r.r/rBpszClientWebSocketResponse.pongcsJt|ts%tdt||jj|ddd|IdHdS)Nzdata argument must be str (%r)binaryFr)
isinstancestr	TypeErrortypersend)r'datarr.r.r/send_strssz ClientWebSocketResponse.send_strcsSt|tttfs.tdt||jj|ddd|IdHdS)Nz#data argument must be byte-ish (%r)rCTr)rDbytes	bytearray
memoryviewrFrGrrH)r'rIrr.r.r/
send_bytesxsz"ClientWebSocketResponse.send_bytesdumpscs"|j||d|IdHdS)Nr)rJ)r'rIrrOr.r.r/	send_json~sz!ClientWebSocketResponse.send_jsoncodeirAcs|jdk	r8|jr8|jjtd|jIdH|js|jd|_y|jj||Wnutj	k
rd|_
|jjYnHtk
r}z(d|_
||_
|jjdSWYdd}~XnX|jr|jjdSxy;tj|jd|j|jjIdH}WdQRXWnutj	k
rkd|_
|jjYnHtk
r}z(d|_
||_
|jjdSWYdd}~XnX|jtjkr|j|_
|jjdSqWndSdS)NrTir-F)r"rrZ	feed_datarr2rr8r6CancelledErrorrrr<r#r
async_timeoutr,rr!readrGr
CLOSErI)r'rQrAexcmsgr.r.r/r8sL	
		
		
	
	
		

zClientWebSocketResponse.closecsx|jdk	rtd|jr+tS|jrG|jIdHtSy|jj|_zKtj	|pq|j
d|j|jjIdH}WdQRX|j
Wd|j}d|_t|dXWn
tjtjfk
rd|_Yntk
rd|_d|_tSYntk
ry}z<|j|_|jd|jIdHttj|dSWYdd}~Xnbtk
r}zB||_d|_d|_|jIdHttj|dSWYdd}~XnX|jtjkr'd|_|j|_|jr|jr|jIdHnr|jtjkrEd|_nT|jtj kr{|j!r{|j"|jIdHqn|jtj#kr|j!rq|SWdS)Nz+Concurrent call to receive() is not allowedr-TirQ)$r"RuntimeErrorrrrr8r!Z
create_futurerTr,rrrUr&rr6rSr7rrrrQr	r
ERRORr<r#rGrVrIrCLOSINGZPINGrrBZPONG)r'r,rXwaiterrWr.r.r/receivesd			
			
		%			&	zClientWebSocketResponse.receiver,csK|j|IdH}|jtjkrDtdj|j|j|jS)Nz#Received message {}:{!r} is not str)r]rGr
ZTEXTrFformatrI)r'r,rXr.r.r/receive_strsz#ClientWebSocketResponse.receive_strcsK|j|IdH}|jtjkrDtdj|j|j|jS)Nz%Received message {}:{!r} is not bytes)r]rGr
ZBINARYrFr^rI)r'r,rXr.r.r/
receive_bytessz%ClientWebSocketResponse.receive_bytesloadscs!|jd|IdH}||S)Nr,)r_)r'rar,rIr.r.r/receive_jsonsz$ClientWebSocketResponse.receive_jsoncCs|S)Nr.)r'r.r.r/	__aiter__sz!ClientWebSocketResponse.__aiter__cs<|jIdH}|jtjtjtjfkr8t|S)N)r]rGr
rVr[ZCLOSEDStopAsyncIteration)r'rXr.r.r/	__anext__sz!ClientWebSocketResponse.__anext__)__name__
__module____qualname__r0r2r&r3r5propertyr9r:r*rrr;r?r4rBrJrNjsonrOrPr8r]r_r`rarbrcrer.r.r.r/rs4		/9r)__doc__r6rjrTZclient_exceptionsrZhelpersrrZhttprrrr	r
rr.r.r.r/<module>s(
Back to Directory File Manager