î
]á[\T  ã               @   ss   d  d d g Z  d d l m Z d g Z Gd d „  d e ƒ Z d d  „  Z d d	 d „ Z Gd
 d „  d e ƒ Z d S)ÚClientÚListenerÚPipeé    )ÚQueueNc               @   sg   e  Z d  Z d d d d d „ Z d d „  Z d d „  Z e d	 d
 „  ƒ Z d d „  Z d d „  Z	 d S)r   Né   c             C   s   t  | ƒ |  _ d  S)N)r   Ú_backlog_queue)ÚselfÚaddressZfamilyZbacklog© r
   ú6/usr/lib/python3.4/multiprocessing/dummy/connection.pyÚ__init__   s    zListener.__init__c             C   s   t  |  j j ƒ  Œ  S)N)Ú
Connectionr   Úget)r   r
   r
   r   Úaccept   s    zListener.acceptc             C   s   d  |  _  d  S)N)r   )r   r
   r
   r   Úclose   s    zListener.closec             C   s   |  j  S)N)r   )r   r
   r
   r   Ú<lambda>   s    zListener.<lambda>c             C   s   |  S)Nr
   )r   r
   r
   r   Ú	__enter__   s    zListener.__enter__c             C   s   |  j  ƒ  d  S)N)r   )r   Úexc_typeÚ	exc_valueÚexc_tbr
   r
   r   Ú__exit__"   s    zListener.__exit__)
Ú__name__Ú
__module__Ú__qualname__r   r   r   Úpropertyr	   r   r   r
   r
   r
   r   r      s   c             C   s3   t  ƒ  t  ƒ  } } |  j | | f ƒ t | | ƒ S)N)r   Úputr   )r	   Ú_inÚ_outr
   r
   r   r   &   s    Tc             C   s/   t  ƒ  t  ƒ  } } t | | ƒ t | | ƒ f S)N)r   r   )ZduplexÚaÚbr
   r
   r   r   ,   s    c               @   sO   e  Z d  Z d d „  Z d d d „ Z d d „  Z d d	 „  Z d
 d „  Z d S)r   c             C   s<   | |  _  | |  _ | j |  _ |  _ | j |  _ |  _ d  S)N)r   r   r   ÚsendZ
send_bytesr   ZrecvZ
recv_bytes)r   r   r   r
   r
   r   r   3   s    		zConnection.__init__g        c             C   so   |  j  j ƒ  d k r d S| d k r) d S|  j  j j ƒ  |  j  j j | ƒ |  j  j j ƒ  |  j  j ƒ  d k S)Nr   Tg        F)r   ZqsizeZ	not_emptyÚacquireÚwaitÚrelease)r   Ztimeoutr
   r
   r   Úpoll9   s    zConnection.pollc             C   s   d  S)Nr
   )r   r
   r
   r   r   C   s    zConnection.closec             C   s   |  S)Nr
   )r   r
   r
   r   r   F   s    zConnection.__enter__c             C   s   |  j  ƒ  d  S)N)r   )r   r   r   r   r
   r
   r   r   I   s    zConnection.__exit__N)r   r   r   r   r$   r   r   r   r
   r
   r
   r   r   1   s
   
r   )	Ú__all__Zqueuer   ZfamiliesÚobjectr   r   r   r   r
   r
   r
   r   Ú<module>
   s   	