File: //usr/local/CyberPanel/lib64/python3.10/site-packages/paramiko/__pycache__/channel.cpython-310.pyc
o
�h'� � @ s d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z ddl
mZmZm
Z
mZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ dd lmZmZ dd
lmZ ddlm Z dd
� Z!G dd� de �Z"G dd� de�Z#G dd� de#�Z$G dd� de#�Z%dS )z"
Abstraction for an SSH2 channel.
� N��wraps)�util)
�cMSG_CHANNEL_REQUEST�cMSG_CHANNEL_WINDOW_ADJUST�cMSG_CHANNEL_DATA�cMSG_CHANNEL_EXTENDED_DATA�DEBUG�ERROR�cMSG_CHANNEL_SUCCESS�cMSG_CHANNEL_FAILURE�cMSG_CHANNEL_EOF�cMSG_CHANNEL_CLOSE)�Message)�SSHException)�BufferedFile)�BufferedPipe�PipeTimeout)�pipe)�ClosingContextManagerc s t � �� fdd��}|S )z�
Decorator for `.Channel` methods which performs an openness check.
:raises:
`.SSHException` -- If the wrapped method is called on an unopened
`.Channel`.
c s6 | j s| js| js| jstd��� | g|�R i |��S )NzChannel is not open)�closed�eof_received�eof_sent�activer )�self�args�kwds��func� �F/usr/local/CyberPanel/lib/python3.10/site-packages/paramiko/channel.py�_check= s ����zopen_only.<locals>._checkr )r r! r r r � open_only4 s
r"