# ``twisted`.`conch`.`ssh`.`session`.`SSHSessionProcessProtocol``

class documentation

`class SSHSessionProcessProtocol(protocol.ProcessProtocol): (source)`

Implements interfaces: `twisted.internet.interfaces.ITransport`

View In Hierarchy

I am both an `IProcessProtocol` and an `ITransport`.

I am a transport to the remote endpoint and a process protocol to the local subsystem.

Method | `__init__` | Undocumented
Method | `connectionLost` | Undocumented
Method | `connectionMade` | Called when a connection is made.
Method | `errConnectionLost` | See outConnectionLost().
Method | `errReceived` | Some data was received from stderr.
Method | `getHost` | Return the host from my session's transport.
Method | `getPeer` | Return the peer from my session's transport.
Method | `loseConnection` | Close my connection, after writing all pending data.
Method | `outConnectionLost` | EOF should only be sent when both STDOUT and STDERR have been closed.
Method | `outReceived` | Some data was received from stdout.
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 | `write` | Write some data to the physical connection, in sequence, in a non-blocking fashion.
Method | `writeSequence` | Write an iterable of byte strings to the physical connection.
Instance Variable | `lostOutOrErrFlag` | Undocumented
Instance Variable | `session` | Undocumented
Method | `_getSignalName` | Get a signal name given a signal number.
Instance Variable | `_signalValuesToNames` | Undocumented

Inherited from `ProcessProtocol`:

Method | `childConnectionLost` | Called when a file descriptor associated with the child process is closed.
Method | `childDataReceived` | Called when data arrives from the child process.
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.
Instance Variable | `connected` | Undocumented
Instance Variable | `transport` | Undocumented

def __init__(self, session): (source)

Undocumented

def connectionLost(self, reason=None): (source)

Undocumented

def connectionMade(self): (source)
overrides `twisted.internet.protocol.BaseProtocol.connectionMade`

Called when a connection is made.

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.

def errConnectionLost(self): (source)
overrides `twisted.internet.protocol.ProcessProtocol.errConnectionLost`
See outConnectionLost().
def errReceived(self, err): (source)
overrides `twisted.internet.protocol.ProcessProtocol.errReceived`
Some data was received from stderr.
def getHost(self): (source)
from `twisted.internet.interfaces.ITransport`
Return the host from my session's transport.
def getPeer(self): (source)
from `twisted.internet.interfaces.ITransport`
Return the peer from my session's transport.
def loseConnection(self): (source)
from `twisted.internet.interfaces.ITransport`

Close my connection, after writing all pending data.

Note that if there is a registered producer on a transport it will not be closed until the producer has been unregistered.

def outConnectionLost(self): (source)
overrides `twisted.internet.protocol.ProcessProtocol.outConnectionLost`
EOF should only be sent when both STDOUT and STDERR have been closed.
def outReceived(self, data): (source)
overrides `twisted.internet.protocol.ProcessProtocol.outReceived`
Some data was received from stdout.
def processEnded(self, reason=None): (source)
from `twisted.internet.interfaces.IProcessProtocol`
overrides `twisted.internet.protocol.ProcessProtocol.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.
def write(self, data): (source)
from `twisted.internet.interfaces.ITransport`

Write some data to the physical connection, in sequence, in a non-blocking fashion.

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.

Parameters
data | The data to write.

def writeSequence(self, seq): (source)
from `twisted.internet.interfaces.ITransport`

Write an iterable of byte strings to the physical connection.

If possible, make sure that all of the data is written to the socket at once, without first copying it all into a single byte string.

Parameters
seq | Undocumented
data | The data to write.

lostOutOrErrFlag: `bool` = (source)

Undocumented

session = (source)

Undocumented

def _getSignalName(self, signum): (source)
Get a signal name given a signal number.
_signalValuesToNames: `dict` = (source)

Undocumented