Your IP : 18.224.65.106


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

3


 \�i�@sdZddlZddlZddlZddlZddlZyddlZWnek
rTddlZYnXddl	m
Z
ddlmZddddd	d
ddd
g	Z
eed�r�e
jdddg�eed�r�e
jddddg�eed�r�ejZnejZGdd�d�ZGdd�de�ZGdd�de�Zeed��rGdd�d�ZGdd
�d
�Zeed��rXGdd�dee�ZGdd�dee�ZGdd�dee�ZGd d	�d	ee�Zeed��r�Gd!d�de�ZGd"d�de�ZGd#d�dee�ZGd$d�dee�ZGd%d
�d
�Z Gd&d�de �Z!Gd'd(�d(e
�Z"Gd)d�de �Z#dS)*z0.4�N)�BufferedIOBase)�	monotonic�
BaseServer�	TCPServer�	UDPServer�ThreadingUDPServer�ThreadingTCPServer�BaseRequestHandler�StreamRequestHandler�DatagramRequestHandler�ThreadingMixIn�fork�ForkingUDPServer�ForkingTCPServer�ForkingMixIn�AF_UNIX�UnixStreamServer�UnixDatagramServer�ThreadingUnixStreamServer�ThreadingUnixDatagramServer�PollSelectorc@s�eZdZdZdd�Zdd�Zd%dd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�ZdS)&rNcCs ||_||_tj�|_d|_dS)NF)�server_address�RequestHandlerClass�	threadingZEvent�_BaseServer__is_shut_down�_BaseServer__shutdown_request)�selfrr�r�$/usr/lib64/python3.6/socketserver.py�__init__�s
zBaseServer.__init__cCsdS)Nr)rrrr�server_activate�szBaseServer.server_activate��?cCsx|jj�zVt��F}|j|tj�x0|jsR|j|�}|jr<P|rH|j�|j	�q$WWdQRXWdd|_|jj
�XdS)NF)r�clear�_ServerSelector�register�	selectors�
EVENT_READr�select�_handle_request_noblock�service_actions�set)rZ
poll_interval�selector�readyrrr�
serve_forever�s

zBaseServer.serve_forevercCsd|_|jj�dS)NT)rr�wait)rrrr�shutdown�szBaseServer.shutdowncCsdS)Nr)rrrrr)szBaseServer.service_actionsc
Cs�|jj�}|dkr|j}n|jdk	r0t||j�}|dk	rBt�|}t��R}|j|tj�x<|j	|�}|rp|j
�S|dk	rZ|t�}|dkrZ|j�SqZWWdQRXdS)Nr)�socketZ
gettimeout�timeout�min�timer#r$r%r&r'r(�handle_timeout)rr1Zdeadliner+r,rrr�handle_requests"




zBaseServer.handle_requestcCs�y|j�\}}Wntk
r$dSX|j||�r�y|j||�Wq�tk
rl|j||�|j|�Yq�|j|��Yq�Xn
|j|�dS)N)�get_request�OSError�verify_request�process_request�	Exception�handle_error�shutdown_request)r�request�client_addressrrrr(3s

z"BaseServer._handle_request_noblockcCsdS)Nr)rrrrr4JszBaseServer.handle_timeoutcCsdS)NTr)rr=r>rrrr8QszBaseServer.verify_requestcCs|j||�|j|�dS)N)�finish_requestr<)rr=r>rrrr9YszBaseServer.process_requestcCsdS)Nr)rrrr�server_closebszBaseServer.server_closecCs|j|||�dS)N)r)rr=r>rrrr?jszBaseServer.finish_requestcCs|j|�dS)N)�
close_request)rr=rrrr<nszBaseServer.shutdown_requestcCsdS)Nr)rr=rrrrArszBaseServer.close_requestcCsHtddtjd�td|tjd�ddl}|j�tddtjd�dS)N�-�()�filez4Exception happened during processing of request fromr)�print�sys�stderr�	traceback�	print_exc)rr=r>rHrrrr;vszBaseServer.handle_errorcCs|S)Nr)rrrr�	__enter__�szBaseServer.__enter__cGs|j�dS)N)r@)r�argsrrr�__exit__�szBaseServer.__exit__)r!)�__name__�
__module__�__qualname__r1rr r-r/r)r5r(r4r8r9r@r?r<rAr;rJrLrrrrr�s$-

	
c@sbeZdZejZejZdZdZ	ddd�Z
dd�Zdd	�Zd
d�Z
dd
�Zdd�Zdd�Zdd�ZdS)r�FTc	CsTtj|||�tj|j|j�|_|rPy|j�|j�Wn|j��YnXdS)N)rrr0�address_family�socket_type�server_bindr r@)rrrZbind_and_activaterrrr�s
zTCPServer.__init__cCs8|jr|jjtjtjd�|jj|j�|jj�|_dS)N�)�allow_reuse_addressr0�
setsockoptZ
SOL_SOCKETZSO_REUSEADDRZbindrZgetsockname)rrrrrS�szTCPServer.server_bindcCs|jj|j�dS)N)r0Zlisten�request_queue_size)rrrrr �szTCPServer.server_activatecCs|jj�dS)N)r0�close)rrrrr@�szTCPServer.server_closecCs
|jj�S)N)r0�fileno)rrrrrY�szTCPServer.filenocCs
|jj�S)N)r0Zaccept)rrrrr6�szTCPServer.get_requestcCs4y|jtj�Wntk
r$YnX|j|�dS)N)r/r0ZSHUT_WRr7rA)rr=rrrr<�s
zTCPServer.shutdown_requestcCs|j�dS)N)rX)rr=rrrrAszTCPServer.close_requestN)T)rMrNrOr0ZAF_INETrQZSOCK_STREAMrRrWrUrrSr r@rYr6r<rArrrrr�s/


c@s:eZdZdZejZdZdd�Zdd�Z	dd�Z
d	d
�ZdS)rFi cCs |jj|j�\}}||jf|fS)N)r0Zrecvfrom�max_packet_size)r�dataZclient_addrrrrr6szUDPServer.get_requestcCsdS)Nr)rrrrr szUDPServer.server_activatecCs|j|�dS)N)rA)rr=rrrr<szUDPServer.shutdown_requestcCsdS)Nr)rr=rrrrAszUDPServer.close_requestN)rMrNrOrUr0Z
SOCK_DGRAMrRrZr6r r<rArrrrrscsReZdZdZdZdZdZdd�dd�Zdd	�Zd
d�Z	dd
�Z
�fdd�Z�ZS)ri,NrCF)�blockingcCs�|jdkrdSxht|j�|jkrvy tjdd�\}}|jj|�Wqtk
r^|jj�Yqtk
rrPYqXqWxt|jj	�D]f}y.|r�dntj
}tj||�\}}|jj|�Wq�tk
r�|jj|�Yq�tk
r�Yq�Xq�WdS)NrTr���)�active_children�len�max_children�os�waitpid�discard�ChildProcessErrorr"r7�copy�WNOHANG)rr\�pid�_�flagsrrr�collect_children,s&
zForkingMixIn.collect_childrencCs|j�dS)N)rj)rrrrr4OszForkingMixIn.handle_timeoutcCs|j�dS)N)rj)rrrrr)VszForkingMixIn.service_actionscCs�tj�}|r8|jdkrt�|_|jj|�|j|�dSd}z:y|j||�d}Wn tk
rr|j||�YnXWdz|j	|�Wdtj
|�XXdS)NrTr)rar
r^r*�addrAr?r:r;r<�_exit)rr=r>rgZstatusrrrr9]s 

zForkingMixIn.process_requestcst�j�|j|jd�dS)N)r\)�superr@rj�_block_on_close)r)�	__class__rrr@vs
zForkingMixIn.server_close)
rMrNrOr1r^r`rnrjr4r)r9r@�
__classcell__rr)rorr#s#cs8eZdZdZdZdZdd�Zdd�Z�fdd�Z�Z	S)	rFNcCsHz6y|j||�Wn tk
r2|j||�YnXWd|j|�XdS)N)r?r:r;r<)rr=r>rrr�process_request_thread�s
z%ThreadingMixIn.process_request_threadcCsRtj|j||fd�}|j|_|jrF|jrF|jdkr:g|_|jj|�|j�dS)N)�targetrK)	rZThreadrq�daemon_threadsZdaemonrn�_threads�append�start)rr=r>�trrrr9�s
zThreadingMixIn.process_requestcs:t�j�|jr6|j}d|_|r6x|D]}|j�q&WdS)N)rmr@rnrt�join)rZthreadsZthread)rorrr@�s

zThreadingMixIn.server_close)
rMrNrOrsrnrtrqr9r@rprr)rorr{s
c@seZdZdS)rN)rMrNrOrrrrr�sc@seZdZdS)rN)rMrNrOrrrrr�sc@seZdZdS)rN)rMrNrOrrrrr�sc@seZdZdS)rN)rMrNrOrrrrr�sc@seZdZejZdS)rN)rMrNrOr0rrQrrrrr�sc@seZdZejZdS)rN)rMrNrOr0rrQrrrrr�sc@seZdZdS)rN)rMrNrOrrrrr�sc@seZdZdS)rN)rMrNrOrrrrr�sc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r	c
Cs6||_||_||_|j�z|j�Wd|j�XdS)N)r=r>�server�setup�handle�finish)rr=r>ryrrrr�szBaseRequestHandler.__init__cCsdS)Nr)rrrrrz�szBaseRequestHandler.setupcCsdS)Nr)rrrrr{�szBaseRequestHandler.handlecCsdS)Nr)rrrrr|�szBaseRequestHandler.finishN)rMrNrOrrzr{r|rrrrr	�s
c@s,eZdZd	ZdZdZdZdd�Zdd�ZdS)
r
rTrNFcCsz|j|_|jdk	r |jj|j�|jr:|jjtjtjd�|jj	d|j
�|_|jdkrdt
|j�|_n|jj	d|j�|_dS)NT�rbr�wb)r=Z
connectionr1Z
settimeout�disable_nagle_algorithmrVr0ZIPPROTO_TCPZTCP_NODELAY�makefile�rbufsize�rfile�wbufsize�
_SocketWriter�wfile)rrrrrz�s



zStreamRequestHandler.setupcCsF|jjs.y|jj�Wntjk
r,YnX|jj�|jj�dS)N)r��closed�flushr0�errorrXr�)rrrrr|s
zStreamRequestHandler.finishr])	rMrNrOr�r�r1rrzr|rrrrr
�s
c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r�cCs
||_dS)N)�_sock)rZsockrrrrsz_SocketWriter.__init__cCsdS)NTr)rrrr�writablesz_SocketWriter.writablec	Cs&|jj|�t|��}|jSQRXdS)N)r�Zsendall�
memoryview�nbytes)r�bZviewrrr�write"s
z_SocketWriter.writecCs
|jj�S)N)r�rY)rrrrrY'sz_SocketWriter.filenoN)rMrNrOrr�r�rYrrrrr�sr�c@seZdZdd�Zdd�ZdS)rcCs2ddlm}|j\|_|_||j�|_|�|_dS)Nr)�BytesIO)�ior�r=Zpacketr0r�r�)rr�rrrrz.szDatagramRequestHandler.setupcCs|jj|jj�|j�dS)N)r0Zsendtor��getvaluer>)rrrrr|4szDatagramRequestHandler.finishN)rMrNrOrzr|rrrrr*s)$�__version__r0r%ra�errnorFr�ImportErrorZdummy_threadingr�rr3r�__all__�hasattr�extendrr#ZSelectSelectorrrrrrrrrrrrrrr	r
r�rrrrr�<module>{sZ


n~X..-