o
    f>                     @   sP   g d 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   7/usr/lib/python3.10/multiprocessing/dummy/connection.py__init__      zListener.__init__c                 C   s   t | j  S r   )
Connectionr   getr	   r   r   r   accept   r   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 r   r   r   r   r   r   	__enter__!      zListener.__enter__c                 C      |    d S r   r   r	   exc_type	exc_valueexc_tbr   r   r   __exit__$      zListener.__exit__)NNr   )
__name__
__module____qualname__r   r   r   propertyr
   r   r    r   r   r   r   r      s    

r   c                 C   s&   t  t  }}| ||f t||S r   )r   putr   )r
   _in_outr   r   r   r   (   s   
r   Tc                 C   s"   t  t  }}t||t||fS r   )r   r   )duplexabr   r   r   r   .   s   r   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&   send
send_bytesr   recv
recv_bytes)r	   r'   r(   r   r   r   r   5   s   zConnection.__init__        c                 C   sb   | j  dkr	dS |dkrdS | j j | j j| W d    n1 s%w   Y  | j  dkS )Nr   Tr0   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   r   zConnection.closec                 C   r   r   r   r   r   r   r   r   G   r   zConnection.__enter__c                 C   r   r   r   r   r   r   r   r    J   r!   zConnection.__exit__N)r0   )r"   r#   r$   r   r5   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   	
