Format: application/x-python-code
⬇ Download File (3.0 KB)
   1  o
   2  
   3  ��h�@s~ddlZddlZddlZddlmZddlmZdejdfdd�Zdd�Z	dd	�Z
   4  ejfd
   5  d�Zdd
   6  �Z
   7  dejdfdd�ZdS)�N)�log)�hide_thread_from_debuggerc	Cs�|dksJ�|durd}|durd}zEt�}|dkr@tjdkr)|�tjtjd�nz|�tjtjd�Wntt	fy?Ynw|�
   8  ||f�|durP|�|�|�|�W|St
   9  yc|���w)z9Return a local server socket listening on the given port.rNz	127.0.0.1�win32�)�	_new_sock�sys�platform�
  10  setsockopt�socket�
  11  SOL_SOCKET�SO_EXCLUSIVEADDRUSE�SO_REUSEADDR�AttributeError�OSError�bind�
  12  settimeout�listen�	Exception�close)�host�port�backlog�timeout�server�r�Lc:\Users\shubh\Videos\agent\nova\Lib\site-packages\debugpy/common/sockets.py�
  13  create_server
  14  s0
  15  �
  16  ��rcCst�S)zAReturn a client socket that may be connected to a remote address.)rrrrr�
  17  create_client-src	Cs�t�tjtjtj�}z|�tjtjd�Wnttfy Ynwz|�tjtj	d�Wnttfy7Ynwz|�tjtj
  18  d�WnttfyNYnwz|�tjtjd�W|SttfygY|Sw)Nr��)r
  19  �AF_INET�SOCK_STREAM�IPPROTO_TCPr	r�SO_KEEPALIVErr�TCP_KEEPIDLE�
  20  TCP_KEEPINTVL�TCP_KEEPCNT��sockrrrr2s.�����rcCs|�|�dS)zShut down the given socket.N)�shutdown)r(�howrrr�	shut_downLsr+cCs,zt|�Wn	tyYnw|��dS)zShutdown and close the socket.N)r+rrr'rrr�close_socketQs�r,c	s�|dksJ�z	t||||��Wnty t�d�||�Ynw���\}}t�d�||����fdd�}tj|d�}d|_t	|�|�
  21  ��S)z�Accepts TCP connections on the specified host and port, and invokes the
  22      provided handler function for every new connection.
  23  
  24      Returns the created server socket.
  25      rz8Error listening for incoming {0} connections on {1}:{2}:z4Listening for incoming {0} connections on {1}:{2}...c	sL	z
  26  ���\}\}}Wn
  27  ttjfyYdSwt�d�||��|�q)NTz.Accepted incoming {0} connection from {1}:{2}.)�acceptrr
  28  �errorr�info)r(Z
  29  other_hostZ
  30  other_port��handler�listener�namerr�
  31  accept_workerls���zserve.<locals>.accept_worker)�targetT)rrrZreraise_exception�getsocknamer/�	threading�Thread�daemonr�start)r3r1rrrrr4�threadrr0r�serveZs ��r<)r
  32  rr7Zdebugpy.commonrZdebugpy.common.utilr�	SOMAXCONNrrr�	SHUT_RDWRr+r,r<rrrr�<module>s