U
    -e>                     @   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   ^/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/multiprocess/dummy/connection.py__init__   s    zListener.__init__c                 C   s   t | j  S r   )
Connectionr   getr	   r   r   r   accept   s    zListener.acceptc                 C   s
   d | _ d S r   r   r   r   r   r   close   s    zListener.closec                 C   s   | j S r   r   r   r   r   r   r
      s    zListener.addressc                 C   s   | S r   r   r   r   r   r   	__enter__!   s    zListener.__enter__c                 C   s   |    d S r   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 r   )r   putr   )r
   _in_outr   r   r   r   (   s    Tc                 C   s"   t  t   }}t||t||fS r   )r   r   )Z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 r   )r#   r"   r!   sendZ
send_bytesr   recvZ
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 5 Q R X | j  dkS )Nr   Tr(   F)r"   qsize	not_emptywait)r	   timeoutr   r   r   poll;   s    
zConnection.pollc                 C   s   d S r   r   r   r   r   r   r   D   s    zConnection.closec                 C   s   | S r   r   r   r   r   r   r   G   s    zConnection.__enter__c                 C   s   |    d S 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   Zfamiliesobjectr   r   r   r   r   r   r   r   <module>
   s   

