Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / amqp / transport.pyc
Size: Mime:
ó
õEYc@@südZddlmZmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlmZddl
mZddlmZdd	lmZmZmZdd
lmZmZyddl	mZWn'ek
rdefd
„ƒYZnXejejejejhZdZ e!ƒZ"dZ#dj$dƒZ%ej&dƒZ'd(Z(d„e(DƒZ)er›e(d)7Z(e)j*eƒne d „Z+d!e,fd"„ƒYZ-d#e-fd$„ƒYZ.d%e-fd&„ƒYZ/de1d'„Z2dS(*uTransport implementation.i(tabsolute_importtunicode_literalsN(tcontextmanager(tunpacki(tUnexpectedFrame(titems(tSOL_TCPtTCP_USER_TIMEOUTtHAS_TCP_USER_TIMEOUT(t	get_errnotset_cloexec(tSSLErrorRcB@seZdZRS(uDummy SSL exception.(t__name__t
__module__t__doc__(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR%si(iÿÿÿuAMQP	ulatin_1u\[([\.0-9a-f:]+)\](?::(\d+))?uTCP_CORKuTCP_DEFER_ACCEPTuTCP_KEEPCNTuTCP_KEEPIDLEu
TCP_KEEPINTVLuTCP_LINGER2u
TCP_MAXSEGuTCP_NODELAYuTCP_QUICKACKu
TCP_SYNCNTuTCP_WINDOW_CLAMPcC@s.h|]$}tt|ƒrtt|ƒ’qS((thasattrtsockettgetattr(t.0topt((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pys	<setcomp>>s	uTCP_USER_TIMEOUTcC@s‘|}tj|ƒ}|rT|jdƒ}|jdƒr‡t|jdƒƒ}q‡n3d|kr‡|jddƒ\}}t|ƒ}n||fS(u1Convert hostname:port string to host, port tuple.iiu:(tIPV6_LITERALtmatchtgrouptinttrsplit(thosttdefaulttporttm((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pytto_host_portEst_AbstractTransportcB@s­eZdZeZdddded„Zd„Ze	d„ƒZ
d„Zd„Zd„Z
d„Zed„Zd	„Zd
„Zd„Zd„Zed
„Zd„ZRS(u-Common superclass for TCP and SSL transports.cK@sdt|_d|_||_t|_t|ƒ\|_|_	||_
||_||_||_
dS(N(tTruet	connectedtNonetsocktraise_on_initial_eintrtEMPTY_BUFFERt_read_bufferRRRtconnect_timeouttread_timeoutt
write_timeouttsocket_settings(tselfRR&R'R(R)R#tkwargs((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt__init__Ys							cC@s<|j|j|j|jƒ|j|j|j|jƒdS(N(t_connectRRR&t_init_socketR)R'R((R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pytconnectfscc@s×|dkr|jVn¼|j}|jƒ}||krH|j|ƒnzky|jVWnXtk
r±}dt|ƒkrŠtjƒ‚n!dt|ƒkr«tjƒ‚n‚nXWd||krÒ|j|ƒnXdS(Nu	timed outuThe operation did not complete(R!R"t
gettimeoutt
settimeoutRtstrRttimeout(R*R3R"tprevtexc((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pythaving_timeoutls"	cC@stj||dtjtƒ}xÝt|ƒD]Ï\}}|\}}}	}
}ydtj|||	ƒ|_yt|jtƒWntk
rŽnX|jj	|ƒ|jj
|ƒWnFtjk
rø|jjƒd|_|dt|ƒkrú‚qúq+XPq+WdS(Nii(RtgetaddrinfotSOCK_STREAMRt	enumerateR"R
RtNotImplementedErrorR1R/terrortcloseR!tlen(R*RRR3tentriestitrestaftsocktypetprotot	canonnametsa((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR-ƒs$

	
cC@syº|jjdƒ|jjtjtjdƒ|j|ƒxctj|ftj	|ffD]C\}}|dk	r[|jjtj|t
jd|dƒƒq[q[W|jƒ|j
tƒWn@tttjfk
rü}t|ƒtkröt|_n‚nXdS(Nitlli(R"R1R!t
setsockoptRt
SOL_SOCKETtSO_KEEPALIVEt_set_socket_optionstSO_SNDTIMEOtSO_RCVTIMEOtstructtpackt_setup_transportt_writetAMQP_PROTOCOL_HEADERtOSErrortIOErrorR;R	t_UNAVAILtFalseR (R*R)R'R(R3tintervalR5((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR.™s 
		
c@s‡fd†tDƒS(Nc@s%i|]}ˆjt|ƒ|“qS((t
getsockoptR(RR(R"(sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pys
<dictcomp>±s	(tTCP_OPTS(R*R"((R"sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt_get_tcp_socket_defaults¯scC@sød}|jdk	r4ttj|jdƒƒ}n|sv|jjttj	dƒt
rr|jjtt|ƒndS|j|jƒ}|j
tj	dƒt
r´|j
t|ƒn|j|ƒx0t|ƒD]"\}}|jjt||ƒqÎWdS(Nig@@i(R&R!RtmathtceilR"RGRRtTCP_NODELAYRRRYt
setdefaulttupdateR(R*R)tuser_timeoutttcp_optsRtval((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRJ´s
cC@stdƒ‚dS(u#Read exactly n bytes from the peer.uMust be overriden in subclassN(R:(R*tntinitial((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt_readÈscC@sdS(u.Do any additional initialization of the class.N((R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyROÌscC@sdS(u8Do any preliminary work in shutting down the connection.N((R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt_shutdown_transportÐscC@stdƒ‚dS(u&Completely write a string to the peer.uMust be overriden in subclassN(R:(R*ts((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRPÔscC@sR|jdk	rE|jƒ|jjtjƒ|jjƒd|_nt|_dS(N(	R"R!RetshutdownRt	SHUT_RDWRR<RUR (R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR<Øs

c
C@sz|j}t}y|dtƒ}||7}|d|ƒ\}}}|tkrƒ|tƒ}||tƒ}	dj||	gƒ}
n||ƒ}
||
7}t|dƒƒ}Wn™tjk
rÕ||j|_‚nst	t
ttjfk
rG}t
|tƒr#dt|ƒkr#tjƒ‚nt|ƒtkrAt|_n‚nX|dkra|||
fStdj|ƒƒ‚dS(Nis>BHIuiu	timed outiÎu&Received {0:#04x} while expecting 0xce(RdR$RtSIGNED_INT_MAXtjointordRR3R%RRRSRR;t
isinstanceR2R	RTRUR Rtformat(
R*Rtreadtread_frame_buffertframe_headert
frame_typetchanneltsizetpart1tpart2tpayloadtchR5((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt
read_frameãs4	

!
cC@sny|j|ƒWnVtjk
r*‚n@tttjfk
ri}t|ƒtkrct|_	n‚nXdS(N(
RPRR3RRRSR;R	RTRUR (R*RfR5((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pytwritesN(RR
RRUR R!RR,R/RR6R-R.RYRJRdROReRPR<RRxRy(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRTs$									"tSSLTransportcB@sqeZdZddd„Zd„Zdd„Zdd„Zd„Ze	e
je
je
j
fd„Zd„ZRS(	uTransport that works over SSL.cK@sJt|tƒr|ni|_t|_tt|ƒj|d||dS(NR&(RltdicttssloptsR$R%tsuperRzR,(R*RR&tsslR+((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR,s	cC@sA|j|j|jpi|_|jjƒ|jj|_dS(u!Wrap the socket in an SSL object.N(t_wrap_socketR"R|tdo_handshakeRnt_quick_recv(R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyROs!
cK@s)|r|j|||Stj||S(N(t
_wrap_contextR~twrap_socket(R*R"tcontextR|((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRscK@s(tj|}||_|j||S(N(R~tcreate_default_contexttcheck_hostnameRƒ(R*R"R|R†tctx_optionstctx((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR‚$s	cC@sG|jdk	rCy|jj}Wntk
r3dSX|ƒ|_ndS(u:Unwrap a Python 2.6 SSL socket, so we can call shutdown().N(R"R!tunwraptAttributeError(R*R‰((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRe)s
c	C@sé|j}|j}y¥xžt|ƒ|krµy||t|ƒƒ}WnLtjk
r’}|j|krŒ|r|jrtjƒ‚qqn‚nX|s¨tdƒ‚n||7}qWWn||_‚nX|| ||}|_|S(Nu
Socket closed(	RR%R=RR;terrnoR#R3RS(	R*RbRct_errnostrecvtrbufRfR5tresult((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRd2s(			cC@sl|jj}xY|rgy||ƒ}Wnttfk
rDd}nX|sZtdƒ‚n||}qWdS(u+Write a string out to the SSL socket fully.iu
Socket closedN(R"Ryt
ValueErrorRŠRS(R*RfRyRb((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRPNs	
N(RR
RR!R,RORR‚ReRUR‹tENOENTtEAGAINtEINTRRdRP(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRzs			tTCPTransportcB@s2eZdZd„Zeejejfd„ZRS(u.Transport that deals directly with TCP socket.cC@s+|jj|_t|_|jj|_dS(N(R"tsendallRPR$R%RR(R*((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyROes	c	C@sé|j}|j}y¥xžt|ƒ|krµy||t|ƒƒ}WnLtjk
r’}|j|krŒ|r|jrtjƒ‚qqn‚nX|s¨tdƒ‚n||7}qWWn||_‚nX|| ||}|_|S(u%Read exactly n bytes from the socket.u
Socket closed(	RR%R=RR;R‹R#R3RS(	R*RbRcRŒRRŽRfR5R((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyRdls(			(	RR
RRORUR‹R’R“Rd(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyR”bs	cK@s+|rtnt}||d|d||S(u‹Create transport.

    Given a few parameters from the Connection constructor,
    select and create a subclass of _AbstractTransport.
    R&R~(RzR”(RR&R~R+t	transport((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt	Transport…s(uTCP_CORKuTCP_DEFER_ACCEPTuTCP_KEEPCNTuTCP_KEEPIDLEu
TCP_KEEPINTVLuTCP_LINGER2u
TCP_MAXSEGuTCP_NODELAYuTCP_QUICKACKu
TCP_SYNCNTuTCP_WINDOW_CLAMP(uTCP_USER_TIMEOUT(3Rt
__future__RRR‹RZtreRMRR~t
contextlibRRt
exceptionsRtfiveRtplatformRRRtutilsR	R
RtImportErrort	ExceptionR’R“R‘tEWOULDBLOCKRTt	AMQP_PORTtbytesR$RitencodeRQtcompileRtKNOWN_TCP_OPTSRXtaddRtobjectRRzR”R!RUR—(((sC/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/transport.pyt<module>sH
	
¼R#