File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/transport/__pycache__/ipc.cpython-310.pyc
o
�N�gVl � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl
ZddlZddlZddl m
Z
ddl mZ ddlmZmZ ddlmZ e�e�Zdd� ZG d d
� d
ejjjj�ZG dd� d�ZG d
d� d�ZG dd� de�Z G dd� de�Z!G dd� d�Z"G dd� de�Z#dS )z
IPC transport classes
� N)�IOLoop)�TimeoutError)�IOStream�StreamClosedError)�Lockc C s | j d ur
| j �| � d S d S �N)�_future_with_timeout�_done_callback)�future� r �F/opt/saltstack/salt/lib/python3.10/site-packages/salt/transport/ipc.py�future_with_timeout_callback s
�r
c s, e Zd Z� fdd�Zdd� Zdd� Z� ZS )�FutureWithTimeoutc s� t � �� || _|| _|d ur$|dk rd}| j�| j�� | | j�| _nd | _t| jd�r?| | j_ | j�
� r=t| j� d S d S | | j_ | j�t� d S )Ng�������?r )
�super�__init__�io_loop�_futureZadd_timeout�time�_timeout_callback�_timeout_handle�hasattrr �doner
�add_done_callback)�selfr r
�timeout�� __class__r r r # s"