| Server IP : 198.38.94.13 / Your IP : 216.73.217.33 Web Server : Apache System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : revivere ( 1140) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/saltstack/salt/lib/python3.10/site-packages/__pycache__/ |
Upload File : |
o
;jX � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
Zddlm
Z
dd� ZG dd� de�ZG d d
� d
e�ZG dd� de�Zed
�fdd�Zed
�fdd�Zdd� ZG dd� de�Zddd�Zedkote� dS dS )z:
A simple library for managing the availability of ports.
� N)�abc)�timingc C s | dkrdS | dv rdS | S )z�
Return the host on which a client can connect to the given listener.
>>> client_host('192.168.0.1')
'192.168.0.1'
>>> client_host('0.0.0.0')
'127.0.0.1'
>>> client_host('::')
'::1'
z0.0.0.0z 127.0.0.1)z::z::0z ::0.0.0.0z::1� )Zserver_hostr r �;/opt/saltstack/salt/lib/python3.10/site-packages/portend.py�client_host s
r c @ s( e Zd Zd dd�Zd
dd�Zdd� ZdS )�Checker� �?c C s
|| _ d S �N��timeout)�selfr r r r �__init__) �
zChecker.__init__Nc C sb |du rt |tj�r|dd� \}}t�� dkrt|�}t�||tjtj �}t
t�| j
|�� dS )a�
Assert that the given addr is free
in that all attempts to connect fail within the timeout
or raise a PortNotFree exception.
>>> free_port = find_available_local_port()
>>> Checker().assert_free('localhost', free_port)
>>> Checker().assert_free('127.0.0.1', free_port)
>>> Checker().assert_free('::1', free_port)
Also accepts an addr tuple
>>> addr = '::1', free_port, 0, 0
>>> Checker().assert_free(addr)
Host might refer to a server bind address like '::', which
should use localhost to perform the check.
>>> Checker().assert_free('::', free_port)
N� �Windows)�
isinstancer �Sequence�platform�systemr �socket�getaddrinfo� AF_UNSPEC�SOCK_STREAM�list� itertools�starmap�_connect)r �host�port�infor r r �assert_free, s zChecker.assert_freec
C s� t � |||�}|�| j� t�|��! z|�|� W n t jy+ Y W d � d S w W d � n1 s6w Y |d d� \}}d} t| jdi t � ����)Nr z Port {port} is in use on {host}.r )
r �
settimeoutr �
contextlib�closing�connect�error�PortNotFree�format�locals)
r �af�socktype�proto� canonname�sa�sr r Ztmplr r r r I s ���zChecker._connect)r r )�__name__�
__module__�__qualname__r
r r r r r r r ( s
r c @ � e Zd ZdS )�TimeoutN�r/ r0 r1 r r r r r3 Z � r3 c @ r2 )r&