U
vù¾f'À ã @ 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 s0 | j s| js| js| js tdƒ‚ˆ | f|ž|ŽS )NzChannel is not open)ÚclosedÚeof_receivedÚeof_sentÚactiver )ÚselfÚargsÚkwds©Úfunc© úA/opt/alt/python38/lib/python3.8/site-packages/paramiko/channel.pyÚ_check= s ÿþýüzopen_only.