HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/billiard/__pycache__/managers.cpython-39.pyc
a

X>h���@s�ddlZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddl
mZddlmZgd
�ZejddkZer�dd�Zndd�Ze
�eje�dd�dD�Zedeu�rdd�ZeD]Ze
�ee�q�Gdd�d�Zdifdd�Zdd�ZGdd�de�Zd d!�Zd"d#�Z Gd$d%�d%�Z!Gd&d'�d'�Z"ej#ej$fej%ej&fd(�Z'Gd)d*�d*�Z(Gd+d,�d,e)�Z*Gd-d.�d.�Z+d/d0�Z,ifd1d2�Z-dkd4d5�Z.Gd6d7�d7�Z/Gd8d9�d9�Z0dld:d;�Z1Gd<d=�d=e+�Z2Gd>d?�d?e+�Z3Gd@dA�dAe3�Z4GdBdC�dCe+�Z5GdDdE�dEe+�Z6GdFdG�dGe+�Z7GdHdI�dIe+�Z8dJZ9e�spe9dK7Z9e-dLe9�Z:GdMdN�dNe:�Z;e-dOdP�Z<dQZ=e�s�e=dR7Z=e-dSe=�Z>e-dTdU�Z?dVdVdVdWdWdX�e?_@GdYdT�dTe?�ZAGdZd[�d[e(�ZBeB�d\e�eB�d]e�eB�d^ejCe5�eB�d_ejDe3�eB�d`ejEe3�eB�daejFe3�eB�dbejGe3�eB�dcejHe4�eIedd��r�eB�ddejJe6�eB�deejKeA�eB�dfee;�eB�dgeLe<�eB�d9e0e8�eB�d;e1e>�eB�d7e/e7�eBjdWe2dhdi�eBjdVdhdj�dS)m�N)�
format_exc�)�
connection)�context)�pool)�process)�	reduction)�util)�get_context)�Queue)�	monotonic)�BaseManager�SyncManager�	BaseProxy�Token�cCstj|j|��ffS�N)�array�typecode�tobytes��a�r�;/usr/local/lib/python3.9/site-packages/billiard/managers.py�reduce_array*srcCstj|j|��ffSr)rr�tostringrrrrr-scCsg|]}tti|����qSr)�type�getattr��.0�namerrr�
<listcomp>1s�r!)�items�keys�valuescCstt|�ffSr)�list��objrrr�rebuild_as_list5sr(c@s4eZdZdZdZdd�Zdd�Zdd�Zd	d
�ZdS)rz3
    Type to uniquely identify a shared object
    ��typeid�address�idcCs||||_|_|_dSrr))�selfr*r+r,rrr�__init__EszToken.__init__cCs|j|j|jfSrr)�r-rrr�__getstate__HszToken.__getstate__cCs|\|_|_|_dSrr))r-�staterrr�__setstate__KszToken.__setstate__cCsd|jj|j|j|jfS)Nz %s(typeid=%r, address=%r, id=%r))�	__class__�__name__r*r+r,r/rrr�__repr__Ns�zToken.__repr__N)	r4�
__module__�__qualname__�__doc__�	__slots__r.r0r2r5rrrrr?srrcCs8|�||||f�|��\}}|dkr*|St||��dS)zL
    Send a message to manager using connection `c` and return response
    �#RETURNN)�send�recv�convert_to_error)�cr,�
methodname�args�kwds�kind�resultrrr�dispatchWs
rDcCs\|dkr|S|dkr,t|�tus$J�t|�S|dkrPt|�tusDJ�td|�Std�SdS)N�#ERROR�
#TRACEBACK�#UNSERIALIZABLEzUnserializable message: %s
zUnrecognized message type)r�str�RemoteError�
ValueError)rBrCrrrr=bsr=c@seZdZdd�ZdS)rIcCsdt|jd�dS)NzM
---------------------------------------------------------------------------
rzK---------------------------------------------------------------------------)rHr@r/rrr�__str__qszRemoteError.__str__N)r4r6r7rKrrrrrIosrIcCs2g}t|�D] }t||�}t|�r|�|�q|S)z4
    Return a list of names of methods of `obj`
    )�dirr�callable�append)r'�tempr �funcrrr�all_methodsys
rQcCsdd�t|�D�S)zP
    Return a list of names of methods of `obj` which do not start with '_'
    cSsg|]}|ddkr|�qS)r�_rrrrrr!��z"public_methods.<locals>.<listcomp>)rQr&rrr�public_methods�srTc@s�eZdZdZgd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zeee
d�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&S)'�ServerzM
    Server class which runs in a process controlled by a manager object
    )	�shutdown�create�accept_connection�get_methods�
debug_info�number_of_objects�dummy�incref�decrefcCsbt|t�sJ�||_t�|�|_t|\}}||dd�|_|jj|_ddi|_	i|_
t��|_
dS)N�)r+�backlog�0�Nr)�
isinstance�bytes�registryr�AuthenticationString�authkey�listener_client�listenerr+�	id_to_obj�id_to_refcount�	threading�RLock�mutex)r-rer+rg�
serializer�Listener�Clientrrrr.�s

zServer.__init__c	Cs�t��|_|t��_z�tj|jd�}d|_|�	�z|j�
�sL|j�d�q4Wntt
fydYn0Wtjtjkr�t�d�tjt_tjt_t�d�n2tjtjkr�t�d�tjt_tjt_t�d�0dS)z(
        Run the server forever
        )�targetTrzresetting stdout, stderrrN)rl�Event�
stop_eventr�current_process�_manager_server�Thread�accepter�daemon�start�is_set�wait�KeyboardInterrupt�
SystemExit�sys�stdout�
__stdout__r	�debug�
__stderr__�stderr�exit)r-rxrrr�
serve_forever�s*



�
zServer.serve_forevercCsLz|j��}Wnty$YqYn0tj|j|fd�}d|_|��qdS)N�rrr@T)ri�accept�OSErrorrlrw�handle_requestryrz)r-r>�trrrrx�s
zServer.acceptercCsNd}}}zTt�||j�t�||j�|��}|\}}}}||jvsTJd|��t||�}Wnty|dt�f}	YnB0z||g|�Ri|��}Wnty�dt�f}	Yn
0d|f}	z|�	|	�Wntt�y@}
zZz|�	dt�f�Wnt�yYn0t
�d|	�t
�d|�t
�d|
�WYd}
~
n
d}
~
00|��dS)z)
        Handle a new connection
        Nz%r unrecognizedrFr:zFailure to send message: %rz ... request was %r� ... exception was %r)
rZdeliver_challengergZanswer_challenger<�publicr�	Exceptionrr;r	�info�close)r-r>�funcnamerC�request�ignorer@rArP�msg�excrrrr��s4"zServer.handle_requestcCsxt�dt��j�|j}|j}|j}|j�	��stz�d}}|�}|\}}}	}
||\}}}||vrxt
d|t|�|f��t||�}
z|
|	i|
��}Wn,t
y�}zd|f}WYd}~nVd}~00|o�|�|d�}|�r|�|||�\}}t||j|�}d||ff}nd|f}Wn�t
�y�|du�r6dt�f}nRz2|j|}|||||g|	�Ri|
��}d|f}Wnt
�y�dt�f}Yn0YnLt�y�t�dt��j�t�d	�Ynt
�y�dt�f}Yn0z6z||�Wn$t
�y
|d
t|�f�Yn0Wq$t
�yp}zHt�dt��j�t�d|�t�d
|�|��t�d�WYd}~q$d}~00q$dS)zQ
        Handle requests from the proxies in a particular process/thread
        z$starting server thread to service %rNz+method %r of %r object is not in exposed=%rrE�#PROXYr:rFz$got EOF -- exiting thread serving %rrrGzexception in thread serving %rz ... message was %rr�r)r	r�rl�current_threadr r<r;rjrtr{�AttributeErrorrrr��getrWrr+r�fallback_mapping�EOFErrorrr��reprr�r�)r-�connr<r;rjr?r'r��identr@rA�exposedZ	gettypeid�function�resr�r�r*ZridentZrexposed�tokenZ
fallback_funcrCrrr�serve_client�s��
��


�����zServer.serve_clientcCs|Srr�r-r�r�r'rrr�fallback_getvalue1szServer.fallback_getvaluecCst|�Sr�rHr�rrr�fallback_str4szServer.fallback_strcCst|�Sr)r�r�rrr�
fallback_repr7szServer.fallback_repr)rKr5�	#GETVALUEcCsdSrr�r-r>rrrr\@szServer.dummyc
Cs�|j�vg}t|j���}|��|D]<}|dkr&|�d||j|t|j|d�dd�f�q&d�|�Wd�S1s�0YdS)zO
        Return some info --- useful to spot problems with refcounting
        raz  %s:       refcount=%s
    %srN�K�
)	rnr%rjr#�sortrNrkrH�join)r-r>rCr#r�rrrrZCs
��zServer.debug_infocCst|j�dS)z*
        Number of shared objects
        r)�lenrjr�rrrr[RszServer.number_of_objectscCsVzDzt�d�|�d�Wnddl}|��Yn0W|j��n|j��0dS)z'
        Shutdown this process
        z!Manager received shutdown message�r:NrN)r	r�r;�	traceback�	print_excrt�set)r-r>r�rrrrVXs
zServer.shutdowncOs|j��|j|\}}}}|dur@t|�dkr2|r6J�|d}	n||i|��}	|dur^t|	�}|dur�t|�tusvJ�t|�t|�}dt|	�}
t�	d||
�|	t
|�|f|j|
<|
|jvr�d|j|
<|�
||
�|
t|�fWd�S1�s�0YdS)z>
        Create a new shared object and return its id
        Nrrz%xz&%r callable returned object with id %r)rnrer�rTr�dictr%r,r	r�r�rjrkr]�tuple)r-r>r*r@rArMr��method_to_typeid�	proxytyper'r�rrrrWes&�



z
Server.createcCst|j|jd�S)zL
        Return the methods of the shared object indicated by token
        r)r�rjr,)r-r>r�rrrrY�szServer.get_methodscCs"|t��_|�d�|�|�dS)z=
        Spawn a new thread to serve this connection
        r�N)rlr�r r;r�)r-r>r rrrrX�s

zServer.accept_connectioncCs<|j�"|j|d7<Wd�n1s.0YdS)Nr)rnrk�r-r>r�rrrr]�sz
Server.increfcCsx|j�^|j|dksJ�|j|d8<|j|dkrV|j|=|j|=t�d|�Wd�n1sj0YdS)Nrrzdisposing of obj with id %r)rnrkrjr	r�r�rrrr^�sz
Server.decrefN)r4r6r7r8r�r.r�rxr�r�r�r�r�r�r\rZr[rVrWrYrXr]r^rrrrrU�s.
"J�
#rUc@seZdZdgZdZdZdZdS)�State�valuerr�N)r4r6r7r9�INITIAL�STARTED�SHUTDOWNrrrrr��sr�)�pickle�	xmlrpclibc@s�eZdZdZiZeZd$dd�Zdd�Zdd	�Z	d
d�Z
d%d
d�Zed&dd��Z
dd�Zd'dd�Zdd�Zdd�Zdd�Zdd�Zedd��Zedd ��Zed(d"d#��ZdS))r
z!
    Base class for managers
    Nr�cCs\|durt��j}||_t�|�|_t�|_tj|j_	||_
t|\|_|_
|pTt�|_dSr)rrurg�_addressrf�_authkeyr��_stater�r��_serializerrhZ	_Listener�_Clientr
�_ctx)r-r+rgro�ctxrrrr.�s

zBaseManager.__init__cCst|�j|j|j|jffSr)r�from_addressr�r�r�r/rrr�
__reduce__�s�zBaseManager.__reduce__cCs(|jjtjksJ�t|j|j|j|j�S)zX
        Return server object with serve_forever() method and address attribute
        )	r�r�r�r�rU�	_registryr�r�r�r/rrr�
get_server�s
�zBaseManager.get_servercCs8t|j\}}||j|jd�}t|dd�tj|j_dS)z>
        Connect manager object to the server process
        �rgNr\)	rhr�r�r�rDr�r�r�r�)r-rprqr�rrr�connect�szBaseManager.connectrc	Cs�|jjtjksJ�|dur*t|�s*td��tjdd�\}}|jj	t
|�j|j|j
|j|j|||fd�|_d�dd�|jjD��}t
|�jd	||j_|j��|��|��|_
|��tj|j_tj|t
|�j|j|j
|j|j|jfd
d�|_dS)z@
        Spawn a server process for this manager object
        Nzinitializer must be a callableF)Zduplexr��:css|]}t|�VqdSrr�)r�irrr�	<genexpr>�rSz$BaseManager.start.<locals>.<genexpr>�-r�r@Zexitpriority)r�r�r�r�rM�	TypeErrorrZPiper��Processr�_run_serverr�r�r�r��_processr�Z	_identityr4r rzr�r<r�r	�Finalize�_finalize_managerr�rV)r-�initializer�initargs�reader�writerr�rrrrz�s0
��



��zBaseManager.startc	CsN|dur||�|�||||�}|�|j�|��t�d|j�|��dS)z@
        Create a server, report its address and run it
        Nzmanager serving at %r)�_Serverr;r+r�r	r�r�)	�clsrer+rgror�r�r��serverrrrr�szBaseManager._run_servercOsl|jjtjksJd��|j|j|jd�}z&t|dd|f||�\}}W|��n
|��0t	||j|�|fS)zP
        Create a new shared object; return the token and exposed tuple
        zserver not yet startedr�NrW)
r�r�r�r�r�r�r�rDr�r)r-r*r@rAr�r,r�rrr�_creates
�
zBaseManager._createcCs*|jdur&|j�|�|j��s&d|_dS)zC
        Join the manager process (if it has been spawned)
        N)r�r��is_alive�r-�timeoutrrrr�(s

zBaseManager.joincCs8|j|j|jd�}zt|dd�W|��S|��0dS)zS
        Return some info about the servers shared objects and connections
        r�NrZ�r�r�r�rDr��r-r�rrr�_debug_info1s�zBaseManager._debug_infocCs8|j|j|jd�}zt|dd�W|��S|��0dS)z5
        Return the number of shared objects
        r�Nr[r�r�rrr�_number_of_objects;s�zBaseManager._number_of_objectscCs,|jjtjkr|��|jjtjks(J�|Sr)r�r�r�r�rzr�r/rrr�	__enter__EszBaseManager.__enter__cCs|��dSr)rV�r-�exc_type�exc_val�exc_tbrrr�__exit__KszBaseManager.__exit__cCs�|��r�t�d�z4|||d�}zt|dd�W|��n
|��0WntyXYn0|jdd�|��r�t�d�t|d�r�t�d	�|��|jd
d�|��r�t�d�t	j
|_ztj
|=Wnty�Yn0dS)zQ
        Shutdown the manager process; will be registered as a finalizer
        z#sending shutdown message to managerr�NrVg�?)r�zmanager still alive�	terminatez'trying to `terminate()` manager processg�������?z#manager still alive after terminate)r�r	r�rDr�r�r��hasattrr�r�r�r�r�_address_to_local�KeyError)rr+rgr1r�r�rrrr�Ns.




zBaseManager._finalize_managercCs|jSr)r�r/rrr�<lambda>nrSzBaseManager.<lambda>Tc
s�d|jvr|j��|_�dur"t�|p0t�dd�}|p@t�dd�}|r�|��D]8\}}t|�tusnJd|��t|�tusNJd|��qN|||�f|j�<|r���fdd�}	�|	_t	|�|	�dS)z9
        Register a typeid with the manager type
        r�N�	_exposed_�_method_to_typeid_z%r is not a stringcsft�d��|j�g|�Ri|��\}}�||j||j|d�}|j|j|jd�}t|dd|jf�|S)Nz)requesting creation of a shared %r object��managerrgr�r�r^)	r	r�r�r�r�r�r+rDr,)r-r@rAr��exp�proxyr��r�r*rrrO�s�z"BaseManager.register.<locals>.temp)
�__dict__r��copy�	AutoProxyrr"rrHr4�setattr)
r�r*rMr�r�r��
create_method�keyr�rOrr�r�registerps$

��

zBaseManager.register)NNr�N)Nr)Nr)N)NNNNT)r4r6r7r8r�rUr�r.r�r�r�rz�classmethodr�r�r�r�r�r�r��staticmethodr��propertyr+rrrrrr
�s4�
	
$�
	


�r
c@seZdZdd�Zdd�ZdS)�ProcessLocalSetcCst�|dd��dS)NcSs|��Sr)�clearr&rrrr��rSz*ProcessLocalSet.__init__.<locals>.<lambda>)r	�register_after_forkr/rrrr.�szProcessLocalSet.__init__cCst|�dfSrb)rr/rrrr��szProcessLocalSet.__reduce__N)r4r6r7r.r�rrrrr�src@s�eZdZdZiZe��Zddd�Zdd�Z	difd	d
�Z
dd�Zd
d�Ze
dd��Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)rz.
    A base for proxies of shared objects
    NTcCs�tj�Btj�|jd�}|dur:t��t�f}|tj|j<Wd�n1sN0Y|d|_|d|_	||_
|j
j|_||_
||_t|d|_|dur�t�|�|_n"|j
dur�|j
j|_nt��j|_|r�|��t�|tj�dS)Nrr)r�_mutexr�r�r+r	ZForkAwareLocalr�_tls�_idset�_tokenr,�_id�_managerr�rhr�rrfr�rurg�_increfr�_after_fork)r-r�ror�rgr�r]Z	tls_idsetrrrr.�s(*



zBaseProxy.__init__cCsdt�d�t��j}t��jdkr4|dt��j7}|j|jj	|j
d�}t|dd|f�||j_
dS)Nzmaking connection to manager�
MainThread�|r�rX)r	r�rrur rlr�r�r
r+r�rDrr)r-r r�rrr�_connect�s

zBaseProxy._connectrcCs�z|jj}Wn4ty@t�dt��j�|��|jj}Yn0|�	|j
|||f�|��\}}|dkrn|S|dkr�|\}}|jj
|jd}	|jj|_|	||j|j|j|d�}
|j|j|jd�}t|dd|jf�|
St||��dS)	zW
        Try to call a method of the referrent and return a copy of the result
        z#thread %r does not own a connectionr:r����r�r�Nr^)rrr�r	r�rlr�r rr;rr<rr�r*r
r+r�r�r�rDr,r=)r-r?r@rAr�rBrCr�r�r�r�rrr�_callmethod�s0�

�zBaseProxy._callmethodcCs
|�d�S)z9
        Get a copy of the value of the referent
        r��rr/rrr�	_getvalue�szBaseProxy._getvaluec	Cs�|j|jj|jd�}t|dd|jf�t�d|jj�|j	�
|j�|joP|jj}tj
|tj|j|j||j|j	|jfdd�|_dS)Nr�r]z	INCREF %r�
r�)r�r
r+r�rDrr	r�r,r	�addrr�r�r�_decrefr�_close)r-r�r1rrrr
s
��zBaseProxy._increfc
Cs�|�|j�|dus |jtjkr�z2t�d|j�||j|d�}t|dd|jf�Wq�t	y�}zt�d|�WYd}~q�d}~00nt�d|j�|s�t
|d�r�t�dt��j
�|j��|`dS)Nz	DECREF %rr�r^z... decref failed %sz%DECREF %r -- manager already shutdownrz-thread %r has no more proxies so closing conn)�discardr,r�r�r�r	r�r+rDr�r�rlr�r rr�)r�rgr1ZtlsZidsetr�r�r�rrrrs$�
zBaseProxy._decrefc
CsHd|_z|��Wn0tyB}zt�d|�WYd}~n
d}~00dS)Nzincref failed: %s)rr
r�r	r�)r-r�rrrr,s
zBaseProxy._after_forkcCs`i}t��dur|j|d<t|dd�rD|j|d<tt|j|j|ffStt	|�|j|j|ffSdS)Nrg�_isautoFr�)
rZget_spawning_popenr�rr��RebuildProxyr�r
r�r�r-rArrrr�4s

��zBaseProxy.__reduce__cCs|��Sr)r)r-�memorrr�__deepcopy__AszBaseProxy.__deepcopy__cCsdt|�j|jjt|�fS)Nz<%s object, typeid %r at %#x>)rr4r
r*r,r/rrrr5Ds�zBaseProxy.__repr__cCs8z|�d�WSty2t|�dd�dYS0dS)zV
        Return representation of the referent (or a fall-back if that fails)
        r5Nrz; '__str__()' failed>)rr�r�r/rrrrKHszBaseProxy.__str__)NNNT)r4r6r7r8r�r	ZForkAwareThreadLockrr.rrrr
rrrr�rr5rKrrrrr�s"�
#	

rcCshtt��dd�}|r0|j|jkr0|j|jdS|�dd�oLtt��dd�}|||fd|i|��SdS)z�
    Function used for unpickling proxy objects.

    If possible the shared object is returned, or otherwise a proxy for it.
    rvNrr]TZ_inheritingF)rrrur+rjr,�pop)rPr�rorAr�r]rrrrVs�rcCsnt|�}z|||fWSty(Yn0i}|D]}td||f|�q2t|tf|�}||_||||f<|S)zC
    Return an proxy type whose methods are given by `exposed`
    zLdef %s(self, *args, **kwds):
        return self._callmethod(%r, args, kwds))r�r��execrrr�)r r��_cacheZdic�meth�	ProxyTyperrr�
MakeProxyTypels ��r%Tc
Cs�t|d}|durJ||j|d�}zt|dd|f�}W|��n
|��0|dur`|dur`|j}|durrt��j}td|j	|�}||||||d�}	d|	_
|	S)z*
    Return an auto-proxy for `token`
    rNr�rYz
AutoProxy[%s])r�rgr]T)rhr+rDr�r�rrurgr%r*r)
r�ror�rgr�r]r�r�r$r�rrrr��s 

�r�c@seZdZdd�Zdd�ZdS)�	NamespacecKs|j�|�dSr)r��updaterrrrr.�szNamespace.__init__cCsZt|j���}g}|D]$\}}|�d�s|�d||f�q|��d|jjd�|�fS)NrRz%s=%rz%s(%s)z, )	r%r�r"�
startswithrNr�r3r4r�)r-Z_itemsrOr r�rrrr5�s
zNamespace.__repr__N)r4r6r7r.r5rrrrr&�sr&c@s8eZdZddd�Zdd�Zdd�Zdd	�Zeee�Zd
S)�ValueTcCs||_||_dSr)�	_typecode�_value)r-rr��lockrrrr.�szValue.__init__cCs|jSr�r+r/rrrr��sz	Value.getcCs
||_dSrr-�r-r�rrrr��sz	Value.setcCsdt|�j|j|jfS)Nz
%s(%r, %r))rr4r*r+r/rrrr5�s
�zValue.__repr__N)T)	r4r6r7r.r�r�r5rr�rrrrr)�s

r)cCst�||�Sr)r)r�sequencer,rrr�Array�sr0c@sTeZdZejddkrdZndZdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�ZdS)�
IteratorProxyrr)�__next__r;�throwr�)r2�nextr;r3r�cGs|�d|�S)Nr4r�r-r@rrrr4�szIteratorProxy.nextcCs|Srrr/rrr�__iter__�szIteratorProxy.__iter__cGs|�d|�S)Nr2rr5rrrr2�szIteratorProxy.__next__cGs|�d|�S)Nr;rr5rrrr;�szIteratorProxy.sendcGs|�d|�S)Nr3rr5rrrr3�szIteratorProxy.throwcGs|�d|�S)Nr�rr5rrrr��szIteratorProxy.closeN)
r4r6r7r�version_infoZ_exposedr�r4r6r2r;r3r�rrrrr1�sr1c@s2eZdZdZddd�Zdd�Zdd	�Zd
d�ZdS)
�
AcquirerProxy)�acquire�releaseTNcCs"|dur|fn||f}|�d|�S�Nr9r)r-�blockingr�r@rrrr9�szAcquirerProxy.acquirecCs
|�d�S�Nr:rr/rrrr:�szAcquirerProxy.releasecCs
|�d�Sr;rr/rrrr��szAcquirerProxy.__enter__cCs
|�d�Sr=rr�rrrr��szAcquirerProxy.__exit__)TN)r4r6r7r�r9r:r�r�rrrrr8�s

r8c@s4eZdZdZddd�Zdd�Zdd�Zdd	d
�ZdS)
�ConditionProxy)r9r:r|�notify�
notify_allNcCs|�d|f�S�Nr|rr�rrrr|�szConditionProxy.waitcCs
|�d�S)Nr?rr/rrrr?�szConditionProxy.notifycCs
|�d�S)Nr@rr/rrrr@�szConditionProxy.notify_allcCs`|�}|r|S|dur"t�|}nd}d}|s\|durJ|t�}|dkrJq\|�|�|�}q*|S)Nr)rr|)r-�	predicater�rC�endtime�waittimerrr�wait_for�s

zConditionProxy.wait_for)N)N)r4r6r7r�r|r?r@rErrrrr>�s

r>c@s2eZdZdZdd�Zdd�Zdd�Zdd	d
�ZdS)�
EventProxy)r{r�rr|cCs
|�d�S)Nr{rr/rrrr{szEventProxy.is_setcCs
|�d�S�Nr�rr/rrrr�szEventProxy.setcCs
|�d�S)Nrrr/rrrrszEventProxy.clearNcCs|�d|f�SrArr�rrrr|szEventProxy.wait)N)r4r6r7r�r{r�rr|rrrrrFs
rFc@sNeZdZdZddd�Zdd�Zdd�Zed	d
��Zedd��Z	ed
d��Z
dS)�BarrierProxy)�__getattribute__r|�abort�resetNcCs|�d|f�SrArr�rrrr|%szBarrierProxy.waitcCs
|�d�S)NrJrr/rrrrJ(szBarrierProxy.abortcCs
|�d�S)NrKrr/rrrrK+szBarrierProxy.resetcCs|�dd�S)NrI)�partiesrr/rrrrL.szBarrierProxy.partiescCs|�dd�S)NrI)�	n_waitingrr/rrrrM2szBarrierProxy.n_waitingcCs|�dd�S)NrI)�brokenrr/rrrrN6szBarrierProxy.broken)N)r4r6r7r�r|rJrKrrLrMrNrrrrrH"s


rHc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�NamespaceProxy)rI�__setattr__�__delattr__cCs0|ddkrt�||�St�|d�}|d|f�S)NrrRrrI)�objectrI�r-r��
callmethodrrr�__getattr__>szNamespaceProxy.__getattr__cCs4|ddkrt�|||�St�|d�}|d||f�S)NrrRrrP)rRrPrI)r-r�r�rTrrrrPDszNamespaceProxy.__setattr__cCs0|ddkrt�||�St�|d�}|d|f�S)NrrRrrQ)rRrQrIrSrrrrQJszNamespaceProxy.__delattr__N)r4r6r7r�rUrPrQrrrrrO;srOc@s*eZdZdZdd�Zdd�Zeee�ZdS)�
ValueProxy)r�r�cCs
|�d�S)Nr�rr/rrrr�TszValueProxy.getcCs|�d|f�SrGrr.rrrr�WszValueProxy.setN)r4r6r7r�r�r�rr�rrrrrVQsrV)�__add__�__contains__�__delitem__�__getitem__�__len__�__mul__�__reversed__�__rmul__�__setitem__rN�count�extend�index�insertr �remove�reverser��__imul__)�__getslice__�__setslice__Z__delslice__�
BaseListProxyc@seZdZdd�Zdd�ZdS)�	ListProxycCs|�d|f�|S)Nrarr.rrr�__iadd__iszListProxy.__iadd__cCs|�d|f�|S)Nrfrr.rrrrfmszListProxy.__imul__N)r4r6r7rkrfrrrrrjgsrj�	DictProxy)rXrYrZr[r_rr�r�Zhas_keyr"r#r �popitem�
setdefaultr'r$)r[rZr_)rgrh�
ArrayProxy�	PoolProxy)�apply�apply_asyncr��imap�imap_unorderedr��map�	map_async�starmap�
starmap_asyncr�ZAsyncResult�Iterator)rrrvrxrsrtc@seZdZdd�Zdd�ZdS)rpcCs|Srrr/rrrr��szPoolProxy.__enter__cGs|��dSr)r�)r-�exc_inforrrr��szPoolProxy.__exit__N)r4r6r7r�r�rrrrrp�sc@seZdZdZdS)ra!
    Subclass of `BaseManager` which supports a number of shared object types.

    The types registered are those intended for the synchronization
    of threads, plus `dict`, `list` and `Namespace`.

    The `billiard.Manager()` function creates started instances of
    this class.
    N)r4r6r7r8rrrrr�srrZ
JoinableQueuers�Lockrm�	Semaphore�BoundedSemaphore�	Condition�Barrier�Poolr%r�F)r�r�)r�)NNNT)T)Mrrlrr�r�rrrrrr	r
�queuer�timer�__all__r7�PY3rrZ
view_typesr%r(Z	view_typerrDr=r�rIrQrTrUr�rprqZXmlListenerZ	XmlClientrhr
r�rrrr%r�r&r)r0r1r8r>rFrHrOrVZ_ListProxy_AttributesrirjrlZ_ArrayProxy_AttributesroZ
BasePoolProxyr�rprrsr{rmr|r}r~r�rr�r�rrrr�<module>s�
�



�
e
+�





�	

�