B
    18\>                 @   sR   d ddgZ ddlmZ dgZG dd deZdd  Zdd	dZG d
d deZdS )ClientListenerPipe    )QueueNc               @   sB   e Zd Z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addressfamilybacklog r   d/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/multiprocessing/dummy/connection.py__init__   s    zListener.__init__c             C   s   t | 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   r	      s    zListener.addressc             C   s   | S )Nr   )r   r   r   r   	__enter__!   s    zListener.__enter__c             C   s   |    d S )N)r   )r   exc_type	exc_valueexc_tbr   r   r   __exit__$   s    zListener.__exit__)NNr   )
__name__
__module____qualname__r   r   r   propertyr	   r   r   r   r   r   r   r      s   
c             C   s&   t  t   }}| ||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   )duplexabr   r   r   r   .   s    c               @   s6   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   send
send_bytesr   recv
recv_bytes)r   r   r   r   r   r   r   5   s    zConnection.__init__        c          	   C   sN   | j  dkrdS |dkrdS | j j | j j| W d Q R X | j  dkS )Nr   Tg        F)r   qsize	not_emptywait)r   timeoutr   r   r   poll;   s    
zConnection.pollc             C   s   d S )Nr   )r   r   r   r   r   D   s    zConnection.closec             C   s   | S )Nr   )r   r   r   r   r   G   s    zConnection.__enter__c             C   s   |    d S )N)r   )r   r   r   r   r   r   r   r   J   s    zConnection.__exit__N)r&   )r   r   r   r   r+   r   r   r   r   r   r   r   r   3   s
   
	r   )T)	__all__queuer   familiesobjectr   r   r   r   r   r   r   r   <module>
   s   

