Part of twisted.conch.ssh.session View Source View In Hierarchy
Implements interfaces: twisted.internet.interfaces.ITransport
IProcessProtocol
and an ITransport
.
I am a transport to the remote endpoint and a process protocol to the local subsystem.
Method | __init__ | Undocumented |
Method | connectionMade | Called when a connection is made. |
Method | outReceived | Some data was received from stdout. |
Method | errReceived | Some data was received from stderr. |
Method | outConnectionLost | EOF should only be sent when both STDOUT and STDERR have been closed. |
Method | errConnectionLost | See outConnectionLost(). |
Method | connectionLost | Undocumented |
Method | processEnded | When we are told the process ended, try to notify the other side about how the process ended using the exit-signal or exit-status requests. Also, close the channel. |
Method | getHost | Return the host from my session's transport. |
Method | getPeer | Return the peer from my session's transport. |
Method | write | Write some data to the physical connection, in sequence, in a non-blocking fashion. |
Method | writeSequence | Write a list of strings to the physical connection. |
Method | loseConnection | Close my connection, after writing all pending data. |
Method | _getSignalName | Get a signal name given a signal number. |
Inherited from ProcessProtocol:
Method | childDataReceived | Undocumented |
Method | childConnectionLost | Undocumented |
Method | inConnectionLost | This will be called when stdin is closed. |
Method | processExited | This will be called when the subprocess exits. |
Inherited from BaseProtocol (via ProcessProtocol):
Method | makeConnection | Make a connection to a transport and a server. |
This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
If possible, make sure that it is all written. No data will ever be lost, although (obviously) the connection may be closed before it all gets through.
If possible, make sure that all of the data is written to the socket at once, without first copying it all into a single string.
Note that if there is a registered producer on a transport it will not be closed until the producer has been unregistered.