# ``twisted`.`protocols`.`policies`.`TimeoutProtocol``

class documentation

`class TimeoutProtocol(ProtocolWrapper): (source)`

View In Hierarchy

Protocol that automatically disconnects when the connection is idle.

Method | `__init__` | Constructor.
Method | `cancelTimeout` | Cancel the timeout.
Method | `connectionLost` | Called when the connection is shut down.
Method | `dataReceived` | Called whenever data is received.
Method | `resetTimeout` | Reset the timeout, usually because some activity just happened.
Method | `setTimeout` | Set a timeout.
Method | `timeoutFunc` | This method is called when the timeout is triggered.
Method | `write` | Undocumented
Method | `writeSequence` | Undocumented
Instance Variable | `timeoutCall` | Undocumented
Instance Variable | `timeoutPeriod` | Undocumented

Inherited from `ProtocolWrapper`:

Method | `__getattr__` | Undocumented
Method | `getHost` | Undocumented
Method | `getPeer` | Undocumented
Method | `logPrefix` | Use a customized log prefix mentioning both the wrapped protocol and the current one.
Method | `loseConnection` | Undocumented
Method | `makeConnection` | When a connection is made, register this wrapper with its factory, save the real transport, and connect the wrapped protocol to this `ProtocolWrapper` to intercept any transport calls it makes.
Method | `registerProducer` | Undocumented
Method | `stopConsuming` | Undocumented
Method | `unregisterProducer` | Undocumented
Instance Variable | `disconnecting` | Undocumented
Instance Variable | `factory` | The `WrappingFactory` which created this `ProtocolWrapper`.
Instance Variable | `wrappedProtocol` | An `IProtocol` provider to which `IProtocol` method calls onto this `ProtocolWrapper` will be proxied.

Inherited from `BaseProtocol` (via `ProtocolWrapper`, `Protocol`):

Method | `connectionMade` | Called when a connection is made.
Instance Variable | `connected` | Undocumented
Instance Variable | `transport` | Undocumented

def __init__(self, factory, wrappedProtocol, timeoutPeriod): (source)
overrides `twisted.protocols.policies.ProtocolWrapper.__init__`
Constructor.

Parameters
factory | An `TimeoutFactory`.
wrappedProtocol | A `Protocol` to wrapp.
timeoutPeriod | Number of seconds to wait for activity before timing out.

def cancelTimeout(self): (source)

Cancel the timeout.

If the timeout was already cancelled, this does nothing.

def connectionLost(self, reason): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.protocols.policies.ProtocolWrapper.connectionLost`

Called when the connection is shut down.

Clear any circular references here, and any external references to this Protocol. The connection has been closed.

Parameters
reason:`twisted.python.failure.Failure` | Undocumented

def dataReceived(self, data): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.protocols.policies.ProtocolWrapper.dataReceived`

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

Parameters
data | a string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.

def resetTimeout(self): (source)
Reset the timeout, usually because some activity just happened.
def setTimeout(self, timeoutPeriod=None): (source)

Set a timeout.

This will cancel any existing timeouts.

Parameters
timeoutPeriod | If not `None`, change the timeout period. Otherwise, use the existing value.

def timeoutFunc(self): (source)

This method is called when the timeout is triggered.

By default it calls loseConnection. Override this if you want something else to happen.

def write(self, data): (source)
overrides `twisted.protocols.policies.ProtocolWrapper.write`

Undocumented

def writeSequence(self, seq): (source)
overrides `twisted.protocols.policies.ProtocolWrapper.writeSequence`

Undocumented

timeoutCall = (source)

Undocumented

timeoutPeriod = (source)

Undocumented