o
    éT•j>  ã                   @   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   	
