
    z%i                     T   	 d dl Zdadad Z G d d      Z G d d      ZddZ ej                  dfdZd	 Z	d
 Z
d Zd Zd Zd Zej                  Zej                   Zej                  Zej"                  Zej$                  Zej&                  ZdZdZ eed      rej.                  Zyy)    Nc                     | a y N)_reply_data)lines    D/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/mock_socket.py
reply_withr      s    K    c                   "    e Zd Z	 d ZddZd Zy)MockFilec                     || _         y r   )lines)selfr   s     r   __init__zMockFile.__init__   s	    
r	   c                     | j                   j                  d      dz   }|dk\  r$| j                   j                  d||d        |d | }|S )Nr      
)r   popinsert)r   limitresults      r   readlinezMockFile.readline   sK    "W,A:JJab!12FU^Fr	   c                      y r    r   s    r   closezMockFile.close       r	   N))__name__
__module____qualname__r   r   r   r   r	   r   r   r      s    r	   r   c                       e Zd Z	 ddZd ZddZd Zd Zd Zd Z	dd	Z
d
 Zd Zd Zd Zd ZddZddZddZd Zd Zd Zy)
MockSocketNc                     || _         g | _        g | _        t        r!| j                  j	                  t               d ad | _        d | _        y r   )familyoutputr   r   appendconntimeout)r   r$   s     r   r   zMockSocket.__init__&   s?    
JJk*K	r	   c                 :    | j                   j                  |       y r   )r   r&   )r   r   s     r   
queue_recvzMockSocket.queue_recv1   s    

$r	   c                 B    | j                   j                  d      dz   }|S )Nr   r   )r   r   )r   bufsizeflagsdatas       r   recvzMockSocket.recv4   s    zz~~a 7*r	   c                      yNr   r   r   s    r   filenozMockSocket.fileno8       r	   c                 .    |t         | _        y || _        y r   )_defaulttimeoutr(   )r   r(   s     r   
settimeoutzMockSocket.settimeout;   s    ?*DL"DLr	   c                     | j                   S r   r(   r   s    r   
gettimeoutzMockSocket.gettimeoutA   s    ||r	   c                      y r   r   )r   leveloptnamevalues       r   
setsockoptzMockSocket.setsockoptD   r   r	   c                      yr1   r   )r   r;   r<   buflens       r   
getsockoptzMockSocket.getsockoptG   r3   r	   c                      y r   r   )r   addresss     r   bindzMockSocket.bindJ   r   r	   c                 <    t               | _        | j                  dfS )Nc)r"   r'   r   s    r   acceptzMockSocket.acceptM   s    L	yy#~r	   c                      y)N)z0.0.0.0r   r   r   s    r   getsocknamezMockSocket.getsocknameQ   s    r	   c                      y r   r   )r   flags     r   setblockingzMockSocket.setblockingT   r   r	   c                      y r   r   )r   backlogs     r   listenzMockSocket.listenW   r   r	   c                 0    t        | j                        }|S r   )r   r   )r   moder,   handles       r   makefilezMockSocket.makefileZ   s    $**%r	   c                 \    || _         | j                  j                  |       t        |      S r   lastr%   r&   lenr   r.   r-   s      r   sendallzMockSocket.sendall^   %    	4 4yr	   c                 \    || _         | j                  j                  |       t        |      S r   rU   rX   s      r   sendzMockSocket.sendc   rZ   r	   c                      y)N)zpeer-addressz	peer-portr   r   s    r   getpeernamezMockSocket.getpeernameh   s    ,r	   c                      y r   r   r   s    r   r   zMockSocket.closek   r   r	   c                      y r   r   )r   hosts     r   connectzMockSocket.connectn   r   r	   r   )rr   )r   r   r    r   r*   r/   r2   r6   r9   r>   rA   rD   rG   rI   rL   rO   rS   rY   r\   r^   r   rb   r   r	   r   r"   r"   #   sf    	 #

-r	   r"   c                     t        |       S r   )r"   )r$   typeprotos      r   socketrg   r   s    fr	   c                     	 t        | d         }t               }|t        j
                  u r
t               }|j                  |       |S # t        $ r t        w xY w)N   )int
ValueErrorerrorr"   socket_module_GLOBAL_DEFAULT_TIMEOUTgetdefaulttimeoutr6   )rC   r(   source_addressint_portmss        r   create_connectionrs   u   sZ    wqz? 
B-777#%MM'I  s   A	 	Ac                     | a y r   r5   r8   s    r   setdefaulttimeoutrv      s    Or	   c                      t         S r   ru   r   r	   r   ro   ro      s    r	   c                       yN r   r   r	   r   getfqdnr{          r	   c                       y r   r   r   r	   r   gethostnamer~      s    r	   c                      yry   r   )names    r   gethostbynamer      r|   r	   c                  ,    t        j                  | i |S r   )rm   getaddrinfo)argskws     r   r   r      s    $$d1b11r	   AF_UNIX)NNN)rg   rm   r5   r   r   r   r"   rn   rs   rv   ro   r{   r~   r   r   gaierrorrl   AF_INETAF_INET6SOCK_STREAM
SOL_SOCKETSO_REUSEADDRhasattrr   r   r	   r   <module>r      s     

  L L^ (5'L'L%)

	2 !! (?? 


!!''

=)$##G %r	   