class twisted.conch.ssh.channel.SSHChannel(log.Logger): (source)
Known subclasses: twisted.conch.client.agent.SSHAgentForwardingChannel, twisted.conch.endpoints._CommandChannel, twisted.conch.scripts.cftp.SSHSession, twisted.conch.scripts.conch.SSHSession, twisted.conch.scripts.tkconch.SSHSession, twisted.conch.ssh.forwarding.SSHConnectForwardingChannel, twisted.conch.ssh.forwarding.SSHListenForwardingChannel, twisted.conch.ssh.session.SSHSession
Implements interfaces: twisted.internet.interfaces.ITransport
A class that represents a multiplexed channel over an SSH connection. The channel has a local window which is the maximum amount of data it will receive, and a remote which is the maximum amount of data the remote side will accept. There is also a maximum packet size for any individual data packet going each way.
Instance Variable | name | the name of the channel. |
Instance Variable | localWindowSize | the maximum size of the local window in bytes. |
Instance Variable | localWindowLeft | how many bytes are left in the local window. |
Instance Variable | localMaxPacket | the maximum size of packet we will accept in bytes. |
Instance Variable | remoteWindowLeft | how many bytes are left in the remote window. |
Instance Variable | remoteMaxPacket | the maximum size of a packet the remote side will accept in bytes. |
Instance Variable | conn | the connection this channel is multiplexed through. |
Instance Variable | data | any data to send to the other side when the channel is requested. |
Instance Variable | avatar | an avatar for the logged-in user (if a server channel) |
Instance Variable | localClosed | True if we aren't accepting more data. |
Instance Variable | remoteClosed | True if the other side isn't accepting more data. |
Method | __init__ | Undocumented |
Instance Variable | areWriting | Undocumented |
Instance Variable | specificData | Undocumented |
Instance Variable | buf | Undocumented |
Instance Variable | extBuf | Undocumented |
Instance Variable | closing | Undocumented |
Instance Variable | id | Undocumented |
Method | __str__ | Undocumented |
Method | __bytes__ | Return a byte string representation of the channel |
Method | logPrefix | Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines. |
Method | channelOpen | Called when the channel is opened. specificData is any data that the other side sent us when opening the channel. |
Method | openFailed | Called when the open failed for some reason. reason.desc is a string descrption, reason.code the SSH error code. |
Method | addWindowBytes | Called when bytes are added to the remote window. By default it clears the data buffers. |
Method | requestReceived | No summary |
Method | dataReceived | Called when we receive data. |
Method | extReceived | Called when we receive extended data (usually standard error). |
Method | eofReceived | Called when the other side will send no more data. |
Method | closeReceived | Called when the other side has closed the channel. |
Method | closed | Called when the channel is closed. This means that both our side and the remote side have closed the channel. |
Method | write | Write some data to the channel. If there is not enough remote window available, buffer until it is. Otherwise, split the data into packets of length remoteMaxPacket and send them. |
Method | writeExtended | Send extended data to this channel. If there is not enough remote window available, buffer until there is. Otherwise, split the data into packets of length remoteMaxPacket and send them. |
Method | writeSequence | Part of the Transport interface. Write a list of strings to the channel. |
Method | loseConnection | Close the channel if there is no buferred data. Otherwise, note the request and return. |
Method | getPeer | See: ITransport.getPeer |
Method | getHost | See: ITransport.getHost |
Method | stopWriting | Called when the remote buffer is full, as a hint to stop writing. This can be ignored, but it can be helpful. |
Method | startWriting | Called when the remote buffer has more room, as a hint to continue writing. |
Class Variable | _log | Undocumented |
bytes
)
int
)
Undocumented
Return a byte string representation of the channel
Returns | Undocumented (type: bytes ) |
Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines.
Called when the channel is opened. specificData is any data that the other side sent us when opening the channel.
Parameters | specificData | Undocumented (type: bytes ) |
Called when the open failed for some reason. reason.desc is a string descrption, reason.code the SSH error code.
Parameters | reason | Undocumented (type: error.ConchError ) |
Called when bytes are added to the remote window. By default it clears the data buffers.
Parameters | data | Undocumented (type: bytes ) |
Called when we receive data.
Parameters | data | Undocumented (type: bytes ) |
Called when the other side will send no more data.
Called when the channel is closed. This means that both our side and the remote side have closed the channel.
Write some data to the channel. If there is not enough remote window available, buffer until it is. Otherwise, split the data into packets of length remoteMaxPacket and send them.
Parameters | data | Undocumented (type: bytes ) |
Part of the Transport interface. Write a list of strings to the channel.
Parameters | data | Undocumented (type: list of str ) |
Close the channel if there is no buferred data. Otherwise, note the request and return.
See: ITransport.getPeer
Returns | The remote address of this connection. (type: SSHTransportAddress .) |
See: ITransport.getHost
Returns | An address describing this side of the connection. (type: SSHTransportAddress .) |
Called when the remote buffer is full, as a hint to stop writing. This can be ignored, but it can be helpful.
Called when the remote buffer has more room, as a hint to continue writing.